Wie kann man in Linux die Anmeldung eines Benutzers verhindern, aber „su - user“ zulassen?

Wie kann man in Linux die Anmeldung eines Benutzers verhindern, aber „su - user“ zulassen?

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/falseaber beim Versuch sufunktioniert es nicht.

Gibt es mehrere Möglichkeiten, Anmeldungen nur per zuzulassen su?

Ist SSH AllowUserdie 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.

verwandte Informationen