Da utente root, come posso autorizzare un altro utente ad eseguire il file /root/script.sh?
L'idea è di eseguire lo script come sudo -u user1 /root/script.sh
su(1)
Da utente root, come posso autorizzare un altro utente ad eseguire il file /root/script.sh?
L'idea è di eseguire lo script come sudo -u user1 /root/script.sh
su(1)
Risposte:
L'utente deve avere
eseguire l'autorizzazione per l'intero percorso della directory ( /root
solo qui )
eseguire l'autorizzazione per il file
autorizzazione di lettura per il file
Potrebbe essere una buona idea lasciare /root
intatta e creare (o utilizzare) una directory diversa per questo scopo (ad es /usr/local/bin
.). È possibile rendere user1
l'unico utente a cui è consentito eseguire lo script rendendolo il proprietario del file o lasciare root
come proprietario e gruppo, impostare le autorizzazioni di accesso semplice ( chmod
) su 770
e aggiungere user1
con ACL ( setfacl
).
Se lo script si trova nella directory principale, quindi
$ LC_ALL=C ls -ld /root
drwx------ 17 root root 4096 Mar 5 20:14 /root
user1
può essere solo root.
La tua /etc/sudoers
voce sarà simile
Cmnd_Alias SCRIPT=/root/script.sh
# user who is allowed executing /root/script.sh
%user ALL = (ALL) SCRIPT
Normalmente si modifica il file con visudo
Inoltre, non è necessario -u root
eseguire il sudo
comando.
La %
intende il gruppo di utenti. Quando lo lasci fuori, solo l'utente può eseguire il comando. Se vuoi che un gruppo di utenti lo esegua, lascialo com'è.
sudo
comando che hai scritto?