Löschen eines Samba-Benutzers: pbdedit vs. smbpasswd, was ist der Unterschied?


11

Was ist der Unterschied zwischen

$ pdbedit -x

und

$ smbpasswd -x

Samba-Benutzer löschen?


Jetzt gibt es auch samba-tool user delete, weiß jemand, was der Unterschied zwischen samba-toolund diesen anderen Werkzeugen ( smbpasswdund pdbedit) ist?
Antonio Vinicius Menezes Medei

Antworten:


7

Beide smbpasswdund pdbeditkönnen für die Samba-Benutzerverwaltung verwendet werden.

Beantwortung der Frage: Ab Samba 4 gibt es keinen Unterschied zwischen diesen beiden Befehlen. Beide Befehle arbeiten mit derselben Datei - sei es im smbpasswd- oder tdbsam- Format - und erledigen den Job.

Erweiterung der Antwort:

smbpasswdist der ältere. Es wurde verwendet, um Samba-Anmeldeinformationen zu verwalten, die im gleichnamigen Dateiformat - smbpasswd - gespeichert sind . Der Standardpfad für die Datei in RedHat-basierten Distributionen war /etc/samba/smbpasswd(um es zu unterscheiden: Das Programm selbst, das Dateiformat und die Standarddatei dieses Formats, mit dem das smbpasswdProgramm arbeitet, werden alle als smbpasswd bezeichnet ).

pdbeditkam während des Samba 3-Entwicklungszyklus als Ersatz für smbpasswd. Aus Sicht des Root-Benutzers pdbeditsind alle Operationen möglich, die ausgeführt werden smbpasswdkönnen, sowie eine Obermenge davon (Verwalten der Kontosicherheit und der Richtlinieneinstellungen). Das 'native' Format zum Speichern von Samba-Anmeldeinformationen für pdbeditist tdbsam - Trivial DB-basiertes Kennwortspeicher-Backend. In RedHat-basierten Distributionen lautet der Standarddateipfad /var/lib/samba/private/passdb.tdb.

Das Problem dabei pdbeditist, dass es nur von root verwendet werden kann, während smbpasswdes von normalen Benutzern verwendet werden kann, um ihre Samba-Kennwörter auf ähnliche Weise zu ändern, wie es der passwdBefehl für Linux-Systemkonten tut. Mein Verständnis ist also, dass ab Samba 4 die Aufgabe der Benutzerverwaltung an Nicht-Root-Benutzer übergeben wird pdbeditund smbpasswddort verbleibt, damit diese ihre Kennwörter ändern können (obwohl root weiterhin die smbpasswdSpeicherung von Samba-Anmeldeinformationen auf begrenzte Weise verwalten kann).


4

Von der pbdedit-Manpage :

Auszug

Das pdbedit-Tool verwendet die modulare Schnittstelle passdb und ist unabhängig von der Art der verwendeten Benutzerdatenbank (derzeit gibt es smbpasswd, ldap, nis + und tdb und weitere können hinzugefügt werden, ohne das Tool zu ändern).

Während die smbpasswd Manpage :

Auszug

Standardmäßig (wenn es ohne Argumente ausgeführt wird) wird versucht, das SMB-Kennwort des aktuellen Benutzers auf dem lokalen Computer zu ändern. Dies ähnelt der Funktionsweise des Programms passwd (1). smbpasswd unterscheidet sich von der Funktionsweise des passwd-Programms jedoch darin, dass es nicht setuid root ist, sondern in einem Client-Server-Modus arbeitet und mit einem lokal ausgeführten smbd kommuniziert (8). Damit dies erfolgreich ist, muss der smbd-Daemon auf dem lokalen Computer ausgeführt werden. Auf einem UNIX-Computer werden die verschlüsselten SMB-Kennwörter normalerweise in der Datei smbpasswd (5) gespeichert.

So pbdeditkann eine Vielzahl von Samba - Passwort - Backends manipulieren, während smbpasswdkann nur diese Art von Backend manipulieren.


Mit der aktuellen Version von Samba, die ich unter CentOS 7 installiert habe (4.1.1), zeigen meine Tests, dass beide Befehle sowohl das Dateiformat smbpasswd als auch tdbsam bearbeiten können (möglicherweise smbpasswdAufrufe pdbeditdarunter, wenn es um das Dateiformat tdbsam geht ).
Golem

@ Golem - Ja, ich habe diese mit Samba 3.x geschrieben. Dieses Q ist in seiner aktuellen Form zu vage, da es keine bestimmte Version von Samba herausgreift. 3.x konnte nicht wie auf den Manpages angegeben.
slm
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.