Ich habe einen Samba-Server für ungefähr 5 Benutzer (Sicherheit = Benutzer) und möchte, dass diese Benutzer ihre Passwörter ohne meine Beteiligung ändern können, sodass ich die folgende Idee habe. Ist das sicher? Gibt es einen besseren (wie bei einem einfacheren) Ansatz? Wir hatten SWAT dafür, aber nicht mehr.
Auf dem Server: Erstellen Sie einen eingeschränkten Benutzer (/ bin / rbash + PATH in ein einzelnes Verzeichnis).
$ sudo adduser --shell /bin/rbash pwchange
$ cat /etc/passwd
pwchange:x:1001:1001:pwchange,,,:/home/pwchange:/bin/rbash
$ sudo vi /home/pwchange/.bashrc
Add:
export PATH=/usr/local/pwchange
$ sudo ln -s /usr/bin/smbpasswd /usr/local/pwchange/smbpasswd
Diese Idee hier ist, dass nur der Befehl sambpasswd vom Benutzer pwchange ausgeführt werden kann. Die Unix-Konten für die Samba-Benutzer haben keine Passwörter (dh Anmeldung über diese Konten nicht erlaubt). Die Samba-Benutzer können dieses eingeschränkte Konto nur für Änderungen des Self-Service-Samba-Passworts verwenden ... ohne den Server zu erkunden!
Client: Ändern Sie das Samba-Passwort über Terminal oder Putty (Windows).
user1@A3700:~$ ssh [email protected]
pwchange@V220:~$ smbpasswd -U user1
Old SMB password:
New SMB password:
Retype new SMB password:
Password changed for user user1
smbpasswd
es war für Benutzer und Administratoren gleichermaßen gedacht , ihre Passwörter zu ändern ... Ist es das, was Sie wollen?Antworten:
Es klingt nicht klug, allen Zugriff auf dasselbe Dummy-Konto zu gewähren. Selbst wenn Sie es sperren, um Zugriff auf nichts zu haben,
smbpasswd
könnten sie dennoch die Passwörter des anderen ändern. Und es besteht immer die Möglichkeit eines böswilligen Eskalationsangriffs auf Privilegien.Im Wesentlichen klingt es so, als ob Sie möchten, dass sie NUR den
smbpasswd
Befehl von ihrem eigenen Benutzerkonto aus ausführen können, während sie immer noch ein Äquivalent zu einemnologin
Konto haben.Dies kann mit der Option "ForceCommand" in Ihrer sshd_config erreicht werden.
Versuche dies:
Gewähren Sie jedem Benutzer mit einer Samba-Kontomitgliedschaft dieselbe Gruppe. Für unser Beispiel sagen wir "sambaOnly":
Als Nächstes möchten wir unsere Datei sshd_config folgendermaßen ändern:
Presto.
smbpasswd
Nach meinem Verständnis (und kurzen Tests) bedeutet dies, dass bei der Anmeldung über SSH der Befehl automatisch ausgeführt wird und sie entsprechend aufgefordert werden. Sie werden niemals die Chance bekommen, Shell-Zugriff zu haben. Nachdem der Befehl ausgeführt wurde, werden sie automatisch getrennt und erhalten erneut keine Chance auf Shell-Zugriff.Ich bin nicht 100% sicher, dass dadurch jeglicher Fernzugriff auf die Maschine entfernt wird. Wenn Sie beispielsweise einen anderen SSH-Server auf demselben Computer ausführen, auf dem dies nicht der Fall ist
ForceCommand
, können sie sich abhängig von der Konfiguration der Zugriffssteuerung über diesen Server anmelden.Wenn sie die Möglichkeit haben, physisch auf ein Terminal zuzugreifen, können sie sich anmelden.
Ich denke jedoch, dass dies für die meisten Situationen eine ziemlich starke Zugangskontrolle ist.
quelle