Para permitir que o usuário alice
execute comandos como root usando sudo
, adicione a seguinte linha ao arquivo sudoers:
alice ALL = (ALL:ALL) ALL
Para permitir que todos os usuários do grupo administrators
executem comandos como root usando sudo
, inclua a seguinte linha no arquivo sudoers:
%administrators ALL = (ALL:ALL) ALL
Use o comando visudo
para editar o arquivo sudoers. Não edite o arquivo diretamente: você pode quebrá-lo e ficar bloqueado da conta root. É altamente recomendável manter um shell em execução como root em um terminal enquanto você faz isso e verificar em outro terminal que você ainda pode obter acesso à conta root.
Os usuários que podem executar comandos como root podem executar com sucesso sudo su -
. Você pode evitar que isso funcione, mas seria completamente inútil, já que você não pode evitar variações como sudo -i
, sudo bash --login
, etc. Você confia que as pessoas executem comandos como root ou não.
Os usuários não podem acessar a conta root com su -
, a menos que saibam a senha raiz. Se você não quer que eles possam se tornar root sem sudo, não lhes dê a senha de root.
Se você quiser permitir que um usuário reinicie, mas não execute comandos arbitrários como root, poderá conceder a eles a permissão para executar reboot
ou, mais geralmente, shutdown
, por exemplo,
charlie ALL = (root) /sbin/reboot
É claro que os usuários que podem executar comandos arbitrários como root podem reiniciar, se quiserem. Mais uma vez, tudo inclui reinicialização, e “tudo exceto a reinicialização” não é possível, pois há infinitas variações como “aguarde um segundo e reinicialize”, “envie um e-mail e reinicie”, etc.
Os usuários que estão logados no console têm permissão para reinicializar por padrão se não houver usuários conectados remotamente. Para desabilitar isso, modifique as regras do polkit . Eu não sei exatamente qual arquivo modificar no CentOS.