- A configuração fornecida pelo fornecedor,
ALL=(ALL:ALL)
. Mudar isso para permitir a execução apenas como root pode quebrar algumas suposições feitas por pessoas que escrevem software para sua plataforma. Além disso, é uma preferência pessoal. - correto.
- Ambos os formatos são válidos. O formato com os dois-pontos especifica um grupo (para uso com
sudo -g
) além do usuário.
A diferença efetiva entre esses dois é que ALL=(ALL:ALL)
permite que um membro do grupo sudo execute qualquer comando como qualquer usuário ( sudo -u anyuser
) ou qualquer grupo ( sudo -g anyuser
). ALL=(root)
format permite que os membros do grupo sudo executem qualquer comando como root.
Desde que alguém tenha acesso ao usuário root está efetivamente permitindo que eles executem qualquer comando que desejarem, não há nenhum benefício óbvio imediato em não permitir que eles executem um comando como qualquer usuário ou grupo. Ele impõe um nível extra de abstração para executar comandos como o outro usuário.
Veja como você executaria um comando como joebob
em ambos os cenários:
ALL=(ALL:ALL)
- sudo -u joebob whoami
ALL=(ROOT)
- sudo sudo -u joebob whoami
ou sudo su -c whoami joebob
Eu pessoalmente prefiro ALL=(ALL:ALL)
porque mantém os logs de segurança mais limpos e mostra a intenção direta da pessoa invocar o comando sudo
na primeira linha que é registrada.