Supprimer un utilisateur de samba: pbdedit vs smbpasswd, quelle est la différence?

12

Quelle est la différence entre

$ pdbedit -x

et

$ smbpasswd -x

supprimer les utilisateurs de samba?

nieg
la source
Maintenant, il y a aussi samba-tool user delete, quelqu'un sait quelle est la différence entre samba-toolet ces autres outils ( smbpasswdet pdbedit)?
Antonio Vinicius Menezes Medei

Réponses:

8

Les deux smbpasswdet pdbeditpeuvent être utilisés pour la gestion des utilisateurs Samba.

Répondre à la question: depuis Samba 4 il n'y a pas de différence entre ces deux commandes. Les deux commandes fonctionneront sur le même fichier - que ce soit au format smbpasswd ou tdbsam - et feront le travail.

Élargir la réponse:

smbpasswdest la plus ancienne. Il a été utilisé pour gérer les informations d'identification Samba stockées dans le format de fichier du même nom - smbpasswd . Le chemin par défaut du fichier dans les distributions basées sur RedHat était /etc/samba/smbpasswd(pour lever toute ambiguïté : le programme lui-même, le format de fichier et le fichier par défaut de ce format sur lequel le smbpasswdprogramme fonctionne sont tous appelés smbpasswd ).

pdbeditest apparu pendant le cycle de développement de Samba 3 en remplacement de smbpasswd. Du point de vue de l'utilisateur root, il pdbeditest capable de toutes les opérations qui smbpasswdpeuvent le faire ainsi que d'un sur-ensemble d'entre elles (gérer la sécurité des comptes et les paramètres de stratégie). Le format «natif» pour le stockage des informations d'identification Samba pour pdbeditest tdbsam - backend de stockage de mot de passe basé sur Trivial DB. Sur les distributions basées sur RedHat, le chemin du fichier par défaut est /var/lib/samba/private/passdb.tdb.

Le problème avec pdbeditest qu'il ne peut être utilisé que par root, alors qu'il smbpasswdpeut être utilisé par des utilisateurs réguliers pour changer leurs mots de passe Samba d'une manière similaire à ce que fait la passwdcommande pour les comptes système Linux. Donc, je comprends que depuis Samba 4, le travail de gestion des utilisateurs est transféré pdbeditet smbpasswdlaissé aux utilisateurs non root pour pouvoir changer leurs mots de passe (bien que root puisse toujours utiliser smbpasswdpour gérer le magasin des informations d'identification Samba de manière limitée).

Golem
la source
4

Depuis la page de manuel de pbdedit :

extrait

L'outil pdbedit utilise l'interface modulaire passdb et est indépendant du type de base de données d'utilisateurs utilisé (il existe actuellement des bases smbpasswd, ldap, nis + et tdb et d'autres peuvent être ajoutées sans changer l'outil).

Alors que la page de manuel smbpasswd :

extrait

Par défaut (lorsqu'il est exécuté sans argument), il tentera de modifier le mot de passe SMB de l'utilisateur actuel sur la machine locale. Ceci est similaire à la façon dont fonctionne le programme passwd (1). smbpasswd diffère cependant de la façon dont le programme passwd fonctionne car il n'est pas root setuid mais fonctionne en mode client-serveur et communique avec un smbd (8) en cours d'exécution local. Par conséquent, pour que cela réussisse, le démon smbd doit être exécuté sur la machine locale. Sur une machine UNIX, les mots de passe SMB chiffrés sont généralement stockés dans le fichier smbpasswd (5).

Il pbdeditpeut donc manipuler une variété de backends de mot de passe Samba, alors smbpasswdqu'il ne peut manipuler que ce type de backend.

slm
la source
Avec la version actuelle de Samba que j'ai installée (4.1.1) sur CentOS 7, mes tests montrent que les deux commandes peuvent manipuler à la fois les formats de fichier smbpasswd et tdbsam (peut smbpasswd- être des appels en pdbeditdessous quand il s'agit du format de fichier tdbsam ).
golem
@golem - Oui, je les ai écrits avec Samba 3.x. Ce Q est trop vague dans sa forme actuelle car il ne distingue aucune version particulière de Samba. 3.x ne pouvait pas comme indiqué dans les pages de manuel.
slm