Soluzione 1:
Puoi utilizzare AllowUsers / AllowGroups se hai solo pochi utenti/gruppi autorizzati ad accedere tramite ssh o DenyUsers / DenyGroups se hai solo pochi utenti/gruppi che non lo sono consentito l'accesso. Si noti che questo limita solo l'accesso tramite ssh, altri modi di accesso (console, ftp, ...) sono ancora possibili. Devi aggiungere queste opzioni al tuo /etc/ssh/sshd_config file per la maggior parte delle installazioni ssh.
Se hai impostato la shell di login su /bin/false puoi usare su -s /bin/bash user
(sostituisci /bin/bash con la shell di tua scelta)
Soluzione 2:
Se vuoi ancora che su funzioni, puoi usare sudo -u [username]
o passa -s /bin/bash
su come una shell temporanea. Entrambi fanno lo stesso in assenza di una shell in /etc/passwd
.
Soluzione 3:
Se un account non ha password (passwd -d username ), non possono accedere in modo interattivo (console, SSH e così via). Se hanno una shell valida, su funzionerà ancora. Nota il "interattivamente", però; se qualcuno decide di impostare una coppia di chiavi SSH per l'account, funzionerà!
Soluzione 4:
In sshd_config aggiungi una riga DenyUser [username]
Tieni presente che ciò non impedirà a quell'utente di accedere tramite la console.
Soluzione 5:
Oltre a quanto menzionato sopra (disabilitare e/o non impostare la password utente), il modulo pam_access (consultare la pagina man su pam_access e access.conf) può essere utilizzato per controllare l'accesso al login.