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
su(1)
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
su(1)
Respostas:
O usuário deve ter
executar permissão para todo o caminho do diretório ( /rootsomente aqui )
executar permissão para o arquivo
permissão de leitura para o arquivo
Pode ser uma boa idéia deixar /rootintocado e criar (ou usar) um diretório diferente para essa finalidade (por exemplo /usr/local/bin). Você pode tornar user1o único usuário com permissão para executar o script, tornando-o o proprietário do arquivo ou deixá-lo rootcomo proprietário e grupo, defina as permissões de acesso simples ( chmod) 770e adicione user1com ACLs ( setfacl).
Se o seu script estiver localizado no diretório raiz, então
$ LC_ALL=C ls -ld /root
drwx------ 17 root root 4096 Mar 5 20:14 /root
user1 só pode ser raiz.
Sua /etc/sudoersentrada será semelhante a
Cmnd_Alias SCRIPT=/root/script.sh
# user who is allowed executing /root/script.sh
%user ALL = (ALL) SCRIPT
Você normalmente editaria o arquivo com visudo
Você também não precisa colocar o -u rootseu sudocomando.
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á.
sudocomando que você escreveu?