No arquivo /etc/sudoers
(atalho visudo) adicione estas linhas:
Cmnd_Alias CMDNAME = /path/to/binaryOrscriptToBeRunAsRoot
%groupnamehere ALL=NOPASSWD: CMDNAME
Em vez de usar apenas um nome de usuário, criar um grupo CMDNAME e todos os usuários desse grupo têm essa permissão:
groupadd groupnamehere
usermod -G groupnamehere usertoaddtogrouphere
Para testar isso, torne-se o usuário e execute o comando:
- Torne-se o usuário = > su - usernamehere
- O usuário dos grupos de verificação está em = > grupos
- Executar comando = > sudo CMDNAME reiniciar
- Caso não seja um comando global executado = > sudo / caminho / para / binaryOrScript arg
Um exemplo disso é:
/ etc / sudoers
Cmnd_Alias TESTME = /usr/local/bin/testme.sh
%cmdgroup ALL=NOPASSWD: TESTME
/usr/local/bin/testme.sh
#!/bin/sh
#netstat can only be run by root on my servers.
#File permissions are 'chmod 700'
netstat -tln |grep :80
/ etc / profile
# You need to change 'testme' in the boundry to match the groupname created
# This checks to see if the user who just logged is part of that cmdgroup,
# if so, it runs whatever is inside.
username='id -un'
if groups $username | grep &>/dev/null '\btestme\b'; then
sudo /usr/local/bin/testme.sh
fi
Faça login em um usuário desse grupo e veja:
[nonrootuser ~]#
tcp 0 0 :::80 :::* LISTEN