Por padrão, no Ubuntu, qualquer usuário do Linux que seja membro do grupo sudo
ou admin
tem permissão para usar o sudo para executar qualquer comando como root no sistema.
Mas isso pode ser mais complexo do que isso.
Na verdade, as autorizações para usar sudo são definidas no arquivo /etc/sudoers
. Você deve editar este arquivo usando o comando visudo como root.
O comportamento padrão que eu expressei no começo desta resposta é representado pela linha:
% admin ALL = (TODOS) TODOS
% sudo ALL = (TODOS: TODOS) TODOS
Descrição geral resumida desta sintaxe:
- Primeiro ALL: indica que os membros desse grupo podem executar o sudo de qualquer host
- Segundo ALL: o comando será executado como o usuário especificado (por padrão, é raiz) com
sudo -u <username>
- O terceiro TODOS (na linha com
%sudo
) especifica que o grupo também pode definir ao executar o sudo ( sudo -g <group name>
)
- O último ALL indica que qualquer comando presente no sistema pode ser executado pelos usuários em questão.
Portanto, a sintaxe (veja man visudo para mais exemplos) permite que você especifique restrição no sentido de que:
- Um dado usuário recebe privilégio sudo
- Um usuário ou grupo pode estar restrito a usar apenas algum comando
- Um usuário ou grupo pode estar restrito a mudar apenas para um usuário específico
Exemplo restritivo:
operador ALL = (root) / sbin / reboot
que permite ao usuário operator
executar somente o comando /sbin/reboot
como root.