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.