1.20. Utilitaires de ligne de commande Samba fréquemment utilisés
Ce chapitre décrit les commandes fréquemment utilisées pour travailler avec un serveur Samba.
1.20.1. Utilisation des commandes net ads join et net rpc join
En utilisant la sous-commande join
de l'utilitaire net
, vous pouvez joindre Samba à un domaine AD ou NT4. Pour rejoindre le domaine, vous devez créer manuellement le fichier /etc/samba/smb.conf
et éventuellement mettre à jour d'autres configurations, telles que PAM.
Red Hat recommande d'utiliser l'utilitaire realm
pour rejoindre un domaine. L'utilitaire realm
met automatiquement à jour tous les fichiers de configuration concernés.
Procédure
Créez manuellement le fichier
/etc/samba/smb.conf
avec les paramètres suivants :Pour un membre du domaine AD :
[global] workgroup = domain_name security = ads passdb backend = tdbsam realm = AD_REALM
Pour un membre de domaine NT4 :
[global] workgroup = domain_name security = user passdb backend = tdbsam
-
Ajoutez une configuration de mappage d'ID pour le domaine par défaut
*
et pour le domaine que vous voulez joindre à la section[global
] dans le fichier/etc/samba/smb.conf
. Vérifiez le fichier
/etc/samba/smb.conf
:# testparm
Rejoignez le domaine en tant qu'administrateur du domaine :
Pour rejoindre un domaine AD :
# net ads join -U "DOMAIN\administrator"
Pour rejoindre un domaine NT4 :
# net rpc join -U "DOMAIN\administrator"
Ajoutez la source
winbind
à l'entrée de la base de donnéespasswd
etgroup
dans le fichier/etc/nsswitch.conf
:passwd: files
winbind
group: fileswinbind
Activez et démarrez le service
winbind
:# systemctl enable --now winbind
Vous pouvez également configurer PAM à l'aide de l'utilitaire
authselect
.Pour plus de détails, voir la page de manuel
authselect(8)
.Optionnellement, pour les environnements AD, configurer le client Kerberos.
Pour plus de détails, voir la documentation de votre client Kerberos.
Ressources supplémentaires
1.20.2. Utilisation de la commande net rpc rights
Dans Windows, vous pouvez attribuer des privilèges à des comptes et à des groupes pour effectuer des opérations spéciales, telles que la définition d'ACL sur un partage ou le téléchargement de pilotes d'imprimante. Sur un serveur Samba, vous pouvez utiliser la commande net rpc rights
pour gérer les privilèges.
Liste des privilèges que vous pouvez définir
Pour dresser la liste de tous les privilèges disponibles et de leurs détenteurs, utilisez la commande net rpc rights list
. Par exemple, vous pouvez consulter la liste des privilèges disponibles et de leurs propriétaires à l'aide de la commande :
# net rpc rights list -U "DOMAIN\administrator" Enter DOMAIN\administrator's password: SeMachineAccountPrivilege Add machines to domain SeTakeOwnershipPrivilege Take ownership of files or other objects SeBackupPrivilege Back up files and directories SeRestorePrivilege Restore files and directories SeRemoteShutdownPrivilege Force shutdown from a remote system SePrintOperatorPrivilege Manage printers SeAddUsersPrivilege Add users and groups to the domain SeDiskOperatorPrivilege Manage disk shares SeSecurityPrivilege System security
Octroi de privilèges
Pour accorder un privilège à un compte ou à un groupe, utilisez la commande net rpc rights grant
.
Par exemple, accorder le privilège SePrintOperatorPrivilege
au groupe DOMAIN\printadmin
groupe :
# net rpc rights grant "DOMAIN\printadmin" SePrintOperatorPrivilege -U "DOMAIN\administrator" Enter DOMAIN\administrator's password: Successfully granted rights.
Révocation des privilèges
Pour révoquer un privilège d'un compte ou d'un groupe, utilisez la commande net rpc rights revoke
.
Par exemple, pour révoquer le privilège SePrintOperatorPrivilege
du groupe DOMAIN\printadmin
groupe :
# net rpc rights remoke "DOMAIN\printadmin" SePrintOperatorPrivilege -U "DOMAIN\administrator" Enter DOMAIN\administrator's password: Successfully revoked rights.
1.20.4. Utilisation de la commande net user
La commande net user
vous permet d'effectuer les actions suivantes sur un AD DC ou un PDC NT4 :
- Liste de tous les comptes d'utilisateurs
- Ajouter des utilisateurs
- Supprimer des utilisateurs
La spécification d'une méthode de connexion, telle que ads
pour les domaines AD ou rpc
pour les domaines NT4, n'est requise que lorsque vous répertoriez les comptes d'utilisateurs de domaine. D'autres sous-commandes liées à l'utilisateur peuvent détecter automatiquement la méthode de connexion.
Passez le paramètre -U user_name
à la commande pour spécifier un utilisateur autorisé à effectuer l'action demandée.
Liste des comptes d'utilisateurs du domaine
Pour dresser la liste de tous les utilisateurs d'un domaine AD :
# net ads user -U "DOMAIN\administrator"
Pour dresser la liste de tous les utilisateurs d'un domaine NT4 :
# net rpc user -U "DOMAIN\administrator"
Ajouter un compte d'utilisateur au domaine
Sur un membre du domaine Samba, vous pouvez utiliser la commande net user add
pour ajouter un compte d'utilisateur au domaine.
Par exemple, ajoutez le compte user
au domaine :
Ajouter le compte :
# net user add user password -U "DOMAIN\administrator" User user added
En option, utilisez l'appel de procédure à distance (RPC) pour activer le compte sur le DC AD ou le PDC NT4. Par exemple, vous pouvez utiliser le shell RPC pour activer le compte sur le DC AD ou le PDC NT4 :
# net rpc shell -U DOMAIN\administrator -S DC_or_PDC_name Talking to domain DOMAIN (S-1-5-21-1424831554-512457234-5642315751) net rpc>
user edit disabled user: no
Set user's disabled flag from [yes] to [no] net rpc>exit
Supprimer un compte d'utilisateur du domaine
Sur un membre du domaine Samba, vous pouvez utiliser la commande net user delete
pour supprimer un compte d'utilisateur du domaine.
Par exemple, pour supprimer le compte user
du domaine :
# net user delete user -U "DOMAIN\administrator" User user deleted
1.20.5. Utilisation de l'utilitaire rpcclient
L'utilitaire rpcclient
vous permet d'exécuter manuellement des fonctions Microsoft Remote Procedure Call (MS-RPC) côté client sur un serveur SMB local ou distant. Cependant, la plupart des fonctions sont intégrées dans des utilitaires distincts fournis par Samba. N'utilisez rpcclient
que pour tester les fonctions MS-RPC.
Conditions préalables
-
Le paquet
samba-client
est installé.
Examples
Par exemple, vous pouvez utiliser l'utilitaire rpcclient
pour :
Gérer le sous-système de spool de l'imprimante (SPOOLSS).
Exemple 1.7. Affectation d'un pilote à une imprimante
# rpcclient server_name -U "DOMAIN\administrator" -c 'setdriver "printer_name" "driver_name"' Enter DOMAIN\administrators password: Successfully set printer_name to driver driver_name.
Récupérer des informations sur un serveur SMB.
Exemple 1.8. Liste de tous les partages de fichiers et imprimantes partagées
# rpcclient server_name -U "DOMAIN\administrator" -c 'netshareenum' Enter DOMAIN\administrators password: netname: Example_Share remark: path: C:\srv\samba\example_share\ password: netname: Example_Printer remark: path: C:\var\spool\samba\ password:
Effectuer des actions à l'aide du protocole Security Account Manager Remote (SAMR).
Exemple 1.9. Liste des utilisateurs d'un serveur SMB
# rpcclient server_name -U "DOMAIN\administrator" -c 'enumdomusers' Enter DOMAIN\administrators password: user:[user1] rid:[0x3e8] user:[user2] rid:[0x3e9]
Si vous exécutez la commande sur un serveur autonome ou un membre de domaine, elle répertorie les utilisateurs de la base de données locale. L'exécution de la commande sur un AD DC ou un NT4 PDC permet d'obtenir la liste des utilisateurs du domaine.
Ressources supplémentaires
-
rpcclient(1)
page de manuel
1.20.6. Utilisation de l'application samba-regedit
Certains paramètres, tels que la configuration des imprimantes, sont stockés dans le registre du serveur Samba. Vous pouvez utiliser l'application samba-regedit
basée sur ncurses pour modifier le registre d'un serveur Samba.
Conditions préalables
-
Le paquet
samba-client
est installé.
Procédure
Pour lancer l'application, entrez :
# samba-regedit
Utilisez les touches suivantes :
- Curseur vers le haut et curseur vers le bas : Naviguer dans l'arborescence du registre et dans les valeurs.
- Entrée: Ouvre une touche ou modifie une valeur.
-
Tab: Permet de passer du volet
Key
au voletValue
. - Ctrl+C: Ferme l'application.
1.20.7. Utilisation de l'utilitaire smbcontrol
L'utilitaire smbcontrol
vous permet d'envoyer des messages de commande aux services smbd
, nmbd
, winbindd
ou à l'ensemble de ces services. Ces messages de commande demandent au service, par exemple, de recharger sa configuration.
La procédure décrite dans cette section montre comment recharger la configuration des services smbd
, nmbd
, winbindd
en envoyant le type de message reload-config
à la destination all
.
Conditions préalables
-
Le paquet
samba-common-tools
est installé.
Procédure
# smbcontrol all reload-config
Ressources supplémentaires
-
smbcontrol(1)
page de manuel
1.20.8. Utilisation de l'utilitaire smbpasswd
L'utilitaire smbpasswd
gère les comptes d'utilisateurs et les mots de passe dans la base de données locale de Samba.
Conditions préalables
-
Le paquet
samba-common-tools
est installé.
Procédure
Si vous exécutez la commande en tant qu'utilisateur,
smbpasswd
modifie le mot de passe Samba de l'utilisateur qui a exécuté la commande. Par exemple, le mot de passe de l'utilisateur qui a exécuté la commande est modifié :[user@server ~]$ smbpasswd New SMB password: password Retype new SMB password: password
Si vous exécutez
smbpasswd
en tant qu'utilisateur deroot
, vous pouvez utiliser l'utilitaire, par exemple, pour :Créer un nouvel utilisateur :
[root@server ~]# smbpasswd -a user_name New SMB password:
password
Retype new SMB password:password
Added user user_name.NoteAvant d'ajouter un utilisateur à la base de données Samba, vous devez créer le compte dans le système d'exploitation local. Voir la section Ajouter un nouvel utilisateur à partir de la ligne de commande dans le guide Configurer les paramètres de base du système.
Activer un utilisateur Samba :
[root@server ~]# smbpasswd -e user_name Enabled user user_name.
Désactiver un utilisateur Samba :
[root@server ~]# smbpasswd -x user_name Disabled user user_name
Supprimer un utilisateur :
[root@server ~]# smbpasswd -x user_name Deleted user user_name.
Ressources supplémentaires
-
smbpasswd(8)
page de manuel
1.20.9. Utilisation de l'utilitaire smbstatus
L'utilitaire smbstatus
fournit des informations sur
-
Connexions par PID de chaque démon
smbd
au serveur Samba. Ce rapport comprend le nom de l'utilisateur, le groupe principal, la version du protocole SMB, le cryptage et les informations relatives à la signature. -
Connexions par partage Samba. Ce rapport comprend le PID du démon
smbd
, l'IP de la machine qui se connecte, l'heure à laquelle la connexion a été établie, les informations relatives au cryptage et à la signature. - Liste des fichiers verrouillés. Les entrées du rapport comprennent des détails supplémentaires, tels que les types de verrou opportuniste (oplock)
Conditions préalables
-
Le paquet
samba
est installé. -
Le service
smbd
est en cours d'exécution.
Procédure
# smbstatus Samba version 4.15.2 PID Username Group Machine Protocol Version Encryption Signing ....------------------------------------------------------------------------------------------------------------------------- 963 DOMAIN\administrator DOMAIN\domain users client-pc (ipv4:192.0.2.1:57786) SMB3_02 - AES-128-CMAC Service pid Machine Connected at Encryption Signing: ....--------------------------------------------------------------------------- example 969 192.0.2.1 Thu Nov 1 10:00:00 2018 CEST - AES-128-CMAC Locked files: Pid Uid DenyMode Access R/W Oplock SharePath Name Time ....-------------------------------------------------------------------------------------------------------- 969 10000 DENY_WRITE 0x120089 RDONLY LEASE(RWH) /srv/samba/example file.txt Thu Nov 1 10:00:00 2018
Ressources supplémentaires
-
smbstatus(1)
page de manuel
1.20.10. Utilisation de l'utilitaire smbtar
L'utilitaire smbtar
sauvegarde le contenu d'un partage SMB ou d'un sous-répertoire de celui-ci et le stocke dans une archive tar
. Vous pouvez également écrire le contenu sur une bande magnétique.
Conditions préalables
-
Le paquet
samba-client
est installé.
Procédure
Utilisez la commande suivante pour sauvegarder le contenu du répertoire
demo
sur le partage//server/example/
et stocker le contenu dans l'archive/root/example.tar
:# smbtar -s server -x example -u user_name -p password -t /root/example.tar
Ressources supplémentaires
-
smbtar(1)
page de manuel
1.20.11. Utilisation de l'utilitaire wbinfo
L'utilitaire wbinfo
interroge et renvoie les informations créées et utilisées par le service winbindd
.
Conditions préalables
-
Le paquet
samba-winbind-clients
est installé.
Procédure
Vous pouvez utiliser wbinfo
, par exemple, pour :
Liste des utilisateurs du domaine :
# wbinfo -u AD\administrator AD\guest ...
Liste des groupes de domaines :
# wbinfo -g AD\domain computers AD\domain admins AD\domain users ...
Afficher le SID d'un utilisateur :
# wbinfo --name-to-sid="AD\administrator" S-1-5-21-1762709870-351891212-3141221786-500 SID_USER (1)
Afficher des informations sur les domaines et les trusts :
# wbinfo --trusted-domains --verbose Domain Name DNS Domain Trust Type Transitive In Out BUILTIN None Yes Yes Yes server None Yes Yes Yes DOMAIN1 domain1.example.com None Yes Yes Yes DOMAIN2 domain2.example.com External No Yes Yes
Ressources supplémentaires
-
wbinfo(1)
page de manuel