Das Ändern der Anmeldeshell verhindert nicht unbedingt die Authentifizierung der Benutzer (mit Ausnahme einiger Dienste, die prüfen, ob die Shell des Benutzers in erwähnt wird /etc/shells
).
Möglicherweise können sich die Benutzer weiterhin bei den verschiedenen Diensten authentifizieren, die Ihr System für Unix-Benutzer bereitstellt, und sind weiterhin berechtigt, einige Aktionen auszuführen, obwohl möglicherweise keine willkürlichen Befehle direkt ausgeführt werden.
Wenn Sie die Shell auf /bin/false
oder /usr/sbin/nologin
ändern, wird nur verhindert, dass Befehle für die Dienste ausgeführt werden, mit denen Befehle ausgeführt werden können (Konsolenanmeldung, ssh, telnet, rlogin, rexec ...). Beeinflussen Sie daher die Autorisierung nur für einige Dienste.
So ssh
können sie beispielsweise weiterhin Portweiterleitungen durchführen.
passwd -l
Deaktiviert die Kennwortauthentifizierung, der Benutzer kann jedoch möglicherweise andere Authentifizierungsmethoden verwenden (wie authorized_keys
bei ssh
).
Mit pam
auf Linux zumindest, können Sie das verwenden pam_shells
Modul Authentifizierung oder Autorisierung für die Benutzer zu beschränken mit einer zulässigen Schale (diejenigen , die unter /etc/shells
). Für ssh
, sollten Sie es auf Zulassung (tun account
) Ebene als für die Authentifizierung sshd
verwendet pam
zusätzlich zu anderen Authentifizierungsmethoden (wie authorized_keys
), oder Sie können es mit tun sshd_config
Richtlinien /etc/ssh/sshd_config
(wie AllowUsers
und Freunden).
Beachten Sie jedoch, dass das Hinzufügen einiger Einschränkungen bei der globalen Pam-Autorisierung möglicherweise verhindert, dass cron
Jobs als diese Benutzer ausgeführt werden.
/bin/false
scheint häufiger als/bin/true
.