Existem duas maneiras (principais) de autorizar um usuário a executar comandos como root via sudo:
- declara que “Alice pode executar comandos como root”;
- declara que “Alice é um administrador de sistema” e que “os administradores de sistema podem executar comandos como root”.
A maneira de declarar "Alice é um administrador de sistema" é torná-la membro do grupo sysadmins, mas não há um nome padrão para o grupo sysadmins (nem qualquer obrigação de que exista um grupo de administradores de sistema). Alguns sistemas Unix tradicionais têm um grupo chamado wheel , mas muitas vezes estar no grupo wheel é apenas um pré-requisito para se tornar root, e o usuário também deve saber a senha do root e executar su (é assim que o BSD o utiliza, em particular). Algumas distribuições, como Ubuntu e Debian, incluem um grupo chamado sudo e uma regra "membros do grupo sudo podem executar o comando como root" em sua configuração padrão.
Se /etc/sudoers (ou um arquivo em /etc/sudoers.d ) contiver uma linha como %sudo ALL=(ALL:ALL) ALL , você poderá tornar um usuário um sudoer adicionando-o ao grupo sudo ( adduser alice sudo ). O nome sudo não é mágico, você só precisa igualar a entrada em /etc/sudoers .
Nunca edite /etc/sudoers (ou um arquivo em /etc/sudoers.d ) diretamente: se você cometer um erro de sintaxe, bloquearia o acesso root. Sempre use visudo para editar esse arquivo. Para escolher o editor que visudo é executado, defina a variável de ambiente VISUAL (ou EDITOR , contanto que VISUAL não esteja definido). Em uma máquina multiusuário, usar visudo tem a vantagem adicional de cuidar do bloqueio no caso de dois administradores editarem o arquivo ao mesmo tempo.