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/falseoder /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 sshkönnen sie beispielsweise weiterhin Portweiterleitungen durchführen.
passwd -lDeaktiviert die Kennwortauthentifizierung, der Benutzer kann jedoch möglicherweise andere Authentifizierungsmethoden verwenden (wie authorized_keysbei ssh).
Mit pamauf Linux zumindest, können Sie das verwenden pam_shellsModul 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 sshdverwendet pam zusätzlich zu anderen Authentifizierungsmethoden (wie authorized_keys), oder Sie können es mit tun sshd_configRichtlinien /etc/ssh/sshd_config(wie AllowUsersund Freunden).
Beachten Sie jedoch, dass das Hinzufügen einiger Einschränkungen bei der globalen Pam-Autorisierung möglicherweise verhindert, dass cronJobs als diese Benutzer ausgeführt werden.
/bin/falsescheint häufiger als/bin/true.