O que eu quero é:
- para poder executar
/sbin/print/managequeue.sh -p app1 --view como
outro usuário sem pedir uma senha.
- para poder executar
/sbin/print/managequeue.sh -p app1 --cancel
(ou --delete , ou --pause , etc) como outro usuário, mas pedindo
senha.
De preferência, não quero criar um Cmnd_Alias com todos os argumentos possíveis. Então, tentei os três aliases e a especificação do usuário abaixo:
Host_Alias PRINTSRVS = printsrv, printsrvbkp
Cmnd_Alias APP1PMV = /sbin/print/managequeue.sh -p app1 --view
Cmnd_Alias APP1PMD = /sbin/print/managequeue.sh -p app1 *, !APP1PMV
%app1adms, %helpdesk PRINTSRVS = (printop2:printop2) NOPASSWD: APP1PMV, \
(printop2:printop2) PASSWD: APP1PMD
Quando executo o sudo -u printop2 /sbin/print/managequeue.sh -p app1 --cancel , funciona:
[sudo] password for app1adm1:
Managing queue...
Mas quando executo sudo -u printop2 /sbin/print/managequeue.sh -p app1 --view , não funciona:
Sorry, user app1adm1 is not allowed to execute '/sbin/print/managequeue.sh -p app1 --view' as printop2 on printsrv.
Aparentemente, meu segundo comando (printop2:printop2) PASSWD: APP1PMD anulou meu primeiro comando (printop2:printop2) NOPASSWD: APP1PMV e negou o argumento --view por completo.
Você poderia por favor explicar esta questão?