Lösung 1:
Sie können AllowUsers verwenden / Gruppen zulassen wenn Sie nur wenige Benutzer/Gruppen haben, die sich über ssh anmelden dürfen, oder DenyUsers / Gruppen verweigern wenn Sie nur wenige Benutzer/Gruppen haben, die nicht sind sich anmelden dürfen. Beachten Sie, dass dies nur die Anmeldung über ssh einschränkt, andere Anmeldewege (Konsole, FTP, ...) sind weiterhin möglich. Sie müssen diese Optionen zu Ihrer /etc/ssh/sshd_config hinzufügen Datei für die meisten ssh-Installationen.
Wenn Sie die Login-Shell auf /bin/false gesetzt haben Sie können su -s /bin/bash user
verwenden (ersetzen Sie /bin/bash mit der Schale Ihrer Wahl)
Lösung 2:
Wenn Sie trotzdem möchten, dass su funktioniert, können Sie sudo -u [username]
verwenden oder übergeben Sie -s /bin/bash
zu su als temporäre Shell. Beide tun dasselbe, wenn in /etc/passwd
keine Shell vorhanden ist .
Lösung 3:
Wenn ein Konto kein Passwort hat (passwd -d Benutzername ), können sie sich nicht interaktiv anmelden (Konsole, SSH usw.). Wenn sie eine gültige Shell haben, su wird noch funktionieren. Beachten Sie jedoch das „interaktiv“; Wenn sich jemand entscheidet, ein SSH-Schlüsselpaar für das Konto einzurichten, wird es funktionieren!
Lösung 4:
Fügen Sie in sshd_config eine Zeile DenyUser [username]
hinzu
Beachten Sie, dass dies den Benutzer nicht daran hindert, sich über die Konsole anzumelden.
Lösung 5:
Zusätzlich zu dem, was oben erwähnt wurde (das Benutzerpasswort deaktivieren und/oder nicht setzen), kann das pam_access-Modul (Manpage auf pam_access und access.conf nachschlagen) verwendet werden, um den Login-Zugriff zu kontrollieren.