Ich habe Samba auf meinem Server installiert und versuche, ein Skript zu schreiben, um mir die beiden Schritte zum Hinzufügen eines Benutzers zu ersparen, z.
adduser username
smbpasswd -a username
Meine smb.conf
Staaten:
# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the encrypted SMB password in the
# passdb is changed.
unix password sync = yes
Die weitere Lektüre brachte mich zu einer pdbedit
Manpage, auf der es heißt:
-a This option is used to add a user into the database. This com-
mand needs a user name specified with the -u switch. When adding
a new user, pdbedit will also ask for the password to be used.
Example: pdbedit -a -u sorce
new password:
retype new password
Note
pdbedit does not call the unix password syncronisation script if
unix password sync has been set. It only updates the data in the
Samba user database.
If you wish to add a user and synchronise the password that im-
mediately, use smbpasswd’s -a option.
Also ... jetzt habe ich beschlossen, einen Benutzer hinzuzufügen mit smbpasswd
:
1. Versuch, Unix-Benutzer existiert noch nicht:
root@raspberrypi:/home/pi# smbpasswd -a newuser
New SMB password:
Retype new SMB password:
Failed to add entry for user newuser.
2. Versuch, Unix-Benutzer existiert:
root@raspberrypi:/home/pi# useradd mag
root@raspberrypi:/home/pi# smbpasswd -a mag
New SMB password:
Retype new SMB password:
Added user mag.
# switch to user pi, and try to switch to mag
root@raspberrypi:/home/pi# su pi
pi@raspberrypi ~ $ su mag
Password:
su: Authentication failure
Also, jetzt frage ich mich:
- Wie synchronisiere ich Samba-Passwörter mit Unix-Passwörtern?
- Wo werden Samba-Passwörter gespeichert?
Kann mir jemand helfen, mich aufzuklären?
debian
samba
password-management
Oz123
quelle
quelle
/var/lib/samba/
, ich glaube, Passwörter sind in,secrets.tdb
aber ich bin nicht sicher. Ich bezweifle, dass es für Ihre frühere Frage einen einfachen Weg gibt.Antworten:
Nun ... das fehlende Glied war:
Nach der Installation dieser Pakete funktioniert es also wie erwartet. Das Langzeitgedächtnis des Internets bringt manchmal nur Teilinformationen. Um dem entgegenzuwirken, veröffentliche ich hier den richtigen Link zum Synchronisieren von Samba-Passwörtern mit Unix-Passwörtern und auch meinen eigenen Test.
Ich hoffe das hilft jemand anderem.
Update 2017:
libpam-smbpass
ist veraltet . Es scheint, was es ersetzt hatpam_winbindd
. Sie können das Paket installierenlibpam-winbind
, um es zu erhalten. Dadurch werden Samba-Passwörter jedoch immer noch nicht mit Ihren Unix-Passwörtern synchronisiert. Stattdessen können Sie sich bei Unix mit einem Windows-Authentifizierungsserver (AD) authentifizieren. Informationen dazu finden Sie hier: https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controllerquelle
libpam-smbpass
auf einem Debian 9.1-System nicht mehr finden und es funktioniert auch nicht für mich. Wie kann es sein, dass diese einfache Frage so oft gestellt wurde und immer noch keine Antwort hat?libpam-winbind
kann NICHT in CentOS7 gefunden werden.Wollte die vorherige Antwort kommentieren, konnte dies aber mangels Reputationspunkten nicht tun. Versucht, den vollständigen Inhalt auf diese Antwort zu setzen, konnte aber nicht wie gesagt, dass dies wie Spam aussah. Hier ist der Zugriff auf den vollständigen Inhalt der Wayback-Maschine. Im Folgenden finden Sie eine kurze Version der wichtigsten Punkte:
Unix- und Samba-Passwortsynchronisation auf Debian Etch
Installieren Sie die folgenden Pakete:
Unix -> Samba
Ändern Sie das Samba-Passwort, wenn ein Benutzer sein Unix-Passwort ändert
/etc/pam.d/common-password: from
zu
Durch Ändern von "erforderlich" in "erforderlich" für pam_unix wird sichergestellt, dass die Ausführung von Plugins sofort beendet wird, wenn die Änderung des Unix-Kennworts fehlschlägt.
Damit dies funktioniert, müssen Benutzer bereits über Samba-Konten verfügen und ihre Samba-Kennwörter müssen mit ihren Unix-Kennwörtern übereinstimmen. Da dies nicht unbedingt der Fall ist, müssen wir uns ändern
/etc/pam.d/common-auth: from
zu
Dadurch wird ein Samba-Benutzer erstellt, sofern dieser noch nicht vorhanden ist, und sein Kennwort wird in das Unix-Kennwort geändert, wenn sich der Benutzer mit SSH oder einem anderen Dienst anmeldet, der die Standardsystemauthentifizierung (Common-Auth) verwendet.
Wenn Sie sich mit SSH mit einem Konto anmelden, das noch kein Samba-Konto hat, sollte die Meldung Benutzer hinzugefügt angezeigt werden.
Da dadurch auch ein Samba-Konto für root erstellt wird, möchten Sie möglicherweise den Root-Zugriff in Samba deaktivieren (Debian Etch hat ihn standardmäßig deaktiviert):
/etc/samba/smb.conf:
Vorsichtsmaßnahme : Dies funktioniert nicht, wenn sich der Benutzer über SSH oder andere Dienste ohne Verwendung eines Kennworts anmeldet (z. B. mithilfe der Authentifizierung mit öffentlichem / privatem Schlüssel). In diesem Fall verfügt PAM nicht über das Klartextkennwort, das zum Erstellen des Samba-Kennworts erforderlich ist.
Hinweis : Wenn Sie das allgemeine Kennwort so ändern, dass auch Samba-Kennwortaktualisierungen erforderlich sind, können derzeit angemeldete Benutzer ihr Kennwort erst mit "passwd" ändern, wenn sie sich erneut anmelden, es sei denn, sie verfügen bereits über ein vorhandenes Samba-Konto mit einem entsprechenden Kennwort zu ihrem Unix-Passwort.
Samba -> Unix
Wir weisen Samba an, beim Ändern von Passwörtern PAM zu verwenden:
/etc/samba/smb.conf:
Starten Sie Samba mit /etc/init.d/samba neu.
Konfigurieren Sie PAM so, dass das Ändern des Passworts durch Samba unterstützt wird, indem Sie @include common-password hinzufügen:
/etc/pam.d/samba:
Dies verwendet den gleichen Mechanismus zum Ändern von Passwörtern bei Verwendung von Samba wie bei Verwendung von "passwd". Dies bedeutet, dass das Unix-Passwort aktualisiert werden muss, bevor versucht wird, das Samba-Passwort zu ändern.
Neue Benutzer erstellen
Verwenden Sie chpasswd, um Fehler zu vermeiden:
quelle
pam_smbpass.so
. Können Sie mir helfen? Link: stackoverflow.com/questions/52932070/…