Do usuário root, como posso conceder permissões para outro usuário para executar o arquivo /root/script.sh?
A ideia é executar o script como sudo -u user1 /root/script.sh
root
privileges
bulkmoustache
fonte
fonte
sudo
comando que você escreveu?su(1)
Respostas:
Devo dizer que nunca gostei
sudo
(especialmente suas configurações). Velho clarosu
:Executado a partir do root, não solicitará a senha.
fonte
O usuário deve ter
executar permissão para todo o caminho do diretório (
/root
somente aqui )executar permissão para o arquivo
permissão de leitura para o arquivo
Pode ser uma boa idéia deixar
/root
intocado e criar (ou usar) um diretório diferente para essa finalidade (por exemplo/usr/local/bin
). Você pode tornaruser1
o único usuário com permissão para executar o script, tornando-o o proprietário do arquivo ou deixá-loroot
como proprietário e grupo, defina as permissões de acesso simples (chmod
)770
e adicioneuser1
com ACLs (setfacl
).fonte
Se o seu script estiver localizado no diretório raiz, então
user1
só pode ser raiz.Sua
/etc/sudoers
entrada será semelhante aVocê normalmente editaria o arquivo com
visudo
Você também não precisa colocar o
-u root
seusudo
comando.O
%
significa o grupo de usuários. Quando você o deixa de fora, somente o usuário tem permissão para executar o comando. Se você deseja que um grupo de usuários o execute, saia como está.fonte