Em /etc/sudoers
, há sempre:
root ALL=(ALL:ALL) ALL
No entanto, o usuário root (com UID 0) não precisa digitar a senha ao executar sudo command
.
Para outros usuários, uma senha é necessária, a menos que sua entrada contenha NOPASSWD
ou uma autenticação anterior não tenha expirado:
user ALL=(ALL:ALL) NOPASSWD:ALL
^^^^^^^^
sudo
permite que os usuários executem comandos como UID 0 (ou outros usuários) com base em como está configurado. Não há necessidade de pedir uma senha ao root para executar um comando como UID 0, pois já é UID 0.Além disso, o root também pode
su
para qualquer pessoa que desejar, portanto, não há necessidade de solicitar uma senha ao executarsudo -u user
como UID 0.Observação: acredito que haja uma configuração do PAM que exigirá que o root forneça uma senha para o usuário de destino ao usar o
su
.Embora esta seja uma inconsistência interessante. Seria inútil parar o root, pois o root tem recursos
CAP_SETUID
eCAP_SETGID
, portanto, não precisa do sudo. Ele pode fazer o que quiser.Se
sudo
estiver verificando o root, e não esses recursos, pode haver um bug latente: o root sem recursos pode escalar (não sei, não olhei o código ou testei).