
Wie erlauben Sie einem Benutzer die Anmeldung mit „su -
Benutzer", aber den Benutzer daran hindern, sich per SSH anzumelden?
Ich habe versucht, die Shell einzustellen, /bin/false
aber beim Versuch su
funktioniert es nicht.
Gibt es mehrere Möglichkeiten, Anmeldungen nur per zuzulassen su
?
Ist SSH AllowUser
die richtige Lösung? (Wie würde ich das machen, wenn es die richtige Lösung ist?)
Antwort1
Sie könnenBenutzer zulassen/Gruppen zulassenwenn Sie nur wenige Benutzer/Gruppen haben, die sich über SSH anmelden dürfen oderBenutzer verweigern/DenyGroupswenn Sie nur wenige Benutzer/Gruppen haben, dienichterlaubt sich anzumelden. Beachten Sie, dass dies nur die Anmeldung über ssh einschränkt, andere Anmeldemöglichkeiten (Konsole, FTP, ...) sind weiterhin möglich. Sie müssen diese Optionen zu Ihrem/etc/ssh/sshd_configDatei für die meisten SSH-Installationen.
Wenn Sie die Login-Shell auf/bin/falseSie können verwenden su -s /bin/bash user
(ersetzen/bin/bashmit der Schale deiner Wahl)
Antwort2
Wenn Sie möchten, dass su trotzdem funktioniert, können Sie su als temporäre Shell verwenden sudo -u [username]
oder übergeben -s /bin/bash
. Beide tun dasselbe, wenn keine Shell vorhanden ist /etc/passwd
.
Antwort3
Wenn für ein Konto kein Kennwort vorhanden ist (passwd -d Benutzername), können sie sich nicht interaktiv anmelden (Konsole, SSH usw.). Wenn sie eine gültige Shell haben,sowird immer noch funktionieren. Beachten Sie jedoch das „interaktiv“; wenn jemand beschließt, ein SSH-Schlüsselpaar für das Konto einzurichten, wird es funktionieren!
Antwort4
Zusätzlich zu dem, was oben erwähnt wurde (Deaktivieren und/oder Nichteinstellen des Benutzerkennworts), kann das Modul pam_access (siehe Manpage zu pam_access und access.conf) zur Steuerung des Anmeldezugriffs verwendet werden.