Por padrão, um usuário não deve poder escalar-se para root.
O comando su
requer que eles saibam a senha do root, e se eles sabem disso, não há nada que você possa fazer para pará-los. Para evitar essa rota, não forneça a senha de root.
O comando sudo
é configurado no arquivo /etc/sudoers
, que determina quem pode usar esse comando e qual senha é exigida deles (deles ou de seu usuário de destino). Contanto que você não permita que todos os usuários acessem o sudo e eles não estejam em nenhum grupo permitido usar o sudo, esse método é fechado para eles. Se uma distro vier com sudo
setup por padrão, ela fará com que seu usuário inicial seja capaz de usá-la, mas não deve (eu espero) fazer isso para todos os novos usuários.
Às vezes, su
e sudo
têm um comportamento especial configurado para usuários em determinados grupos do sistema (por exemplo, wheel
) que podem permitir o sudo sem uma senha. Além do conselho acima, também é inteligente não adicionar seus usuários a nenhum grupo desnecessário, particularmente grupos de sistemas e, em particular, wheel
. Em determinados sistemas, você também pode encontrar alguns arquivos importantes cujo ID de grupo é wheel
, oferecendo aos usuários acesso potencialmente indesejado, sem a necessidade de escalonamento de privilégios.
Resumindo:
- Não forneça a senha de root,
- Verifique se eles não estão em um grupo que permite acesso ao sudo,
- Verifique se o sudo não está configurado para permitir o acesso de todos os usuários,
- Não adicione usuários a nenhum grupo de sistemas, principalmente
wheel
.
Observe que isso bloqueará as formas legítimas de se tornar o superusuário, mas não terá efeito sobre os meios ilegítimos.