Rechercher

1.20. Utilitaires de ligne de commande Samba fréquemment utilisés

download PDF

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.

Important

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

  1. 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
  2. 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.
  3. Vérifiez le fichier /etc/samba/smb.conf:

    # testparm
  4. 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"
  5. Ajoutez la source winbind à l'entrée de la base de données passwd et group dans le fichier /etc/nsswitch.conf:

    passwd:     files winbind
    group:      files winbind
  6. Activez et démarrez le service winbind:

    # systemctl enable --now winbind
  7. Vous pouvez également configurer PAM à l'aide de l'utilitaire authselect.

    Pour plus de détails, voir la page de manuel authselect(8).

  8. Optionnellement, pour les environnements AD, configurer le client Kerberos.

    Pour plus de détails, voir la documentation de votre client Kerberos.

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.3. Utilisation de la commande net rpc share

La commande net rpc share permet de lister, d'ajouter et de supprimer des partages sur un serveur Samba ou Windows local ou distant.

Actions de cotation

Pour répertorier les parts d'un serveur SMB, utilisez la commande net rpc share list. Si vous le souhaitez, vous pouvez passer le paramètre -S server_name à la commande pour répertorier les parts d'un serveur distant. Par exemple, la commande

# net rpc share list -U "DOMAIN\administrator" -S server_name
Enter DOMAIN\administrator's password:
IPC$
share_1
share_2
...
Note

Les partages hébergés sur un serveur Samba dont la section browseable = no est définie dans le fichier /etc/samba/smb.conf ne sont pas affichés dans la sortie.

Ajout d'une action

La commande net rpc share add permet d'ajouter un partage à un serveur SMB.

Par exemple, pour ajouter un partage nommé example sur un serveur Windows distant qui partage le répertoire C:\example\:

# net rpc share add example="C:\example" -U "DOMAIN\administrator" -S server_name
Note

Vous devez omettre la barre oblique inverse dans le chemin d'accès lorsque vous spécifiez un nom de répertoire Windows.

Pour utiliser la commande afin d'ajouter un partage à un serveur Samba :

  • L'utilisateur spécifié dans le paramètre -U doit disposer du privilège SeDiskOperatorPrivilege sur le serveur de destination.
  • Vous devez écrire un script qui ajoute une section share au fichier /etc/samba/smb.conf et recharge Samba. Le script doit être défini dans le paramètre add share command de la section [global] de /etc/samba/smb.conf. Pour plus de détails, voir la description de add share command dans la page de manuel smb.conf(5).
Suppression d'un partage

La commande net rpc share delete permet de supprimer un partage d'un serveur SMB.

Par exemple, pour supprimer le partage nommé exemple d'un serveur Windows distant :

# net rpc share delete example -U "DOMAIN\administrator" -S server_name

Pour utiliser la commande afin de supprimer un partage d'un serveur Samba :

  • L'utilisateur spécifié dans le paramètre -U doit bénéficier du privilège SeDiskOperatorPrivilege.
  • Vous devez écrire un script qui supprime la section du partage du fichier /etc/samba/smb.conf et recharge Samba. Le script doit être défini dans le paramètre delete share command de la section [global] de /etc/samba/smb.conf. Pour plus de détails, voir la description de delete share command dans la page de manuel smb.conf(5).

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
Note

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 :

  1. Ajouter le compte :

    # net user add user password -U "DOMAIN\administrator"
    User user added
  2. 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.

samba regedit

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 volet Value.
  • 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

  1. 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
  2. Si vous exécutez smbpasswd en tant qu'utilisateur de root, 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.
      Note

      Avant 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
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.