Então, eu estava tentando conceder o desligamento do nome do usuário como permissão de root. Eu criei um grupo de desligamento e adicionei meu nome de usuário usando:
groupadd shutdown
usermod -A shutdown annguyen
Depois, eu loguei como root usando su - then visudo. Comentou estas linhas:
Defaults targetpw
ALL ALL=(ALL) ALL
Eu vou falar sobre o que acontece se eu tirar o comentário deles.
Eu adiciono a linha
% de desligamento ALL = (ALL) NOPASSWD: / sbin / shutdown
Ok, então aqui está o comportamento.
Quando eu chamar o xterm, digite sudo /sbin/shutdown -h 17:00
e retorne user annguyen is not in the sudoer file. This incident will be reported
. Eu verifiquei de novo e de novo, tenho certeza de que estou no grupo de desligamento e a linha que permite que o grupo use o desligamento seja adicionada.
No entanto, quando eu faço login novamente usando su annguyen
e tento sudo /sbin/shutdown ...
novamente, ele funciona. No entanto, estou efetivamente logado duas vezes como meu próprio nome de usuário. Eu sei porque quando eu digito exit ele não fecha o xterm mas me retorna ao shell dos pais, também logado como eu. Então, basicamente, o shell filho logado como annguyen pode chamar o sudo shutdown, mas o shell pai, também logado como annguyen, não pode. Por que isso?
Não tenho certeza se sinto falta de algo. Em última análise, o que eu queria é que, se eu invoco sudo /sbin/shutdown/
, ele me pedirá a senha do annguyen, enquanto todo o resto é para root.
Isso é possível?
Obrigado,
VNElectric