La modifica della shell di accesso non impedisce necessariamente agli utenti di autenticarsi (tranne in alcuni servizi che controllano se la shell dell'utente è menzionata in /etc/shells
).
Le persone potrebbero comunque essere in grado di autenticarsi ai vari servizi forniti dal sistema agli utenti unix e potrebbero essere autorizzate a eseguire alcune azioni anche se probabilmente non eseguiranno direttamente comandi arbitrari.
Cambiare la shell in /bin/false
o /usr/sbin/nologin
impedirà loro di eseguire comandi su quei servizi che possono essere usati per eseguire comandi (login console, ssh, telnet, rlogin, rexec ...), quindi influenzare l' autorizzazione solo per alcuni servizi.
Ad ssh
esempio, ciò consente loro di eseguire il port forwarding.
passwd -l
disabiliterà l'autenticazione con password, ma all'utente potrebbe essere comunque consentito utilizzare altri metodi di autenticazione (come authorized_keys
con ssh
).
Con pam
almeno su Linux, è possibile utilizzare il pam_shells
modulo per limitare l'autenticazione o l'autorizzazione agli utenti con una shell consentita (quelle menzionate in /etc/shells
). Per ssh
, ti consigliamo di farlo a account
livello di autorizzazione ( ) come per gli sshd
usi di autenticazione pam
oltre ad altri metodi di autenticazione (come authorized_keys
), oppure puoi farlo con sshd_config
direttive in /etc/ssh/sshd_config
(come AllowUsers
e amici).
Attenzione però che l'aggiunta di alcune restrizioni nell'autorizzazione globale di pam impedirà potenzialmente l'esecuzione di cron
lavori come quegli utenti.
/bin/false
sembra più comune di/bin/true
.