Nota: estou respondendo a 1. , pois Ignacio já respondeu a 2 ..
Na sudo
entrada a seguir :
superadm ALL=(ALL) ALL
existem quatro campos:
- O primeiro especifica um usuário que receberá privilégios para alguns comandos.
- O segundo é raramente usado. É uma lista de nomes de host nos quais essa entrada sudo será eficaz. Nas configurações padrão, apenas um host é relevante (host local); portanto, esse campo geralmente é deixado como
ALL
.
- O quarto campo é a lista de comandos
superadm
capazes de executar com privilégios elevados. ALL
significa todos os comandos. Caso contrário, use uma lista de comandos separados por vírgula.
- O terceiro campo (aquele
(…)
que é opcional) especifica quais usuários (e grupos) o superadm
usuário poderá executar os seguintes comandos como. ALL
significa que eles podem escolher qualquer coisa (sem restrições). Se este campo for omitido, significa o mesmo que (root)
.
Exemplo:
alan ALL = (root, bin : operator, system) /bin/ls, /bin/kill
Aqui, alan
é permitido executar os dois comandos /bin/ls
e /bin/kill
como root
(ou bin
), possivelmente com privilégios adicionais operator
ou de system
grupos.
Portanto, alan
pode optar por executar ls
como bin
usuário e com operator
privilégios de grupo como este:
sudo -u bin -g operator /bin/ls /whatever/directory
Se -u
for omitido, é o mesmo que -u root
. Se -g
for omitido, nenhum privilégio de grupo adicional será concedido.