Esta é uma diferenciação interessante:
I'm NOT talking about preventing people from logging in. I'm talking about removing the parts of the system that even make it possible to log in.
Não tenho certeza se existe algo diferente de uma diferença semântica. Se eu removesse /bin/login , você não conseguiria efetuar login (no terminal físico) porque eu tornei impossível efetuar login. Mas eu não teria removido todo o subsistema de login.
Minha sugestão seria deixar o mais intacto possível, porque pode haver dependências imprevistas. Deixe os usuários no lugar, para que seu servidor da Web seja executado como uma conta diferente de root . Evite logins interativos e não interativos, modificando o subsistema PAM. Opcionalmente, evite o acesso a sudo type de maneira semelhante.
-
Prepare uma definição de PAM "negada"
Crie
/etc/pam.d/deniedcontendo as duas linhas seguintes:auth requisite pam_deny.so session requisite pam_deny.so -
Impedir logins do terminal / tela
Substitua
/etc/pam.d/loginpor uma cópia de/etc/pam.d/denied -
Impedir logins de rede com
sshSubstitua
/etc/pam.d/sshdpor uma cópia de/etc/pam.d/deniedEdite
/etc/ssh/sshd_confige garanta queUsePam yesesteja definido. -
Opcionalmente, desative a tentativa em
sudoSubstitua
/etc/pam.d/sudopor uma cópia de/etc/pam.d/denied
Na verdade, em vez de negar todos os logins, talvez seja melhor permitir logins raiz do terminal / tela físico e negar todo o resto. Isso também pode ser feito via PAM, mas está fora do escopo específico da questão.