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 ( /rootsolo qui )
eseguire l'autorizzazione per il file
autorizzazione di lettura per il file
Potrebbe essere una buona idea lasciare /rootintatta e creare (o utilizzare) una directory diversa per questo scopo (ad es /usr/local/bin.). È possibile rendere user1l'unico utente a cui è consentito eseguire lo script rendendolo il proprietario del file o lasciare rootcome proprietario e gruppo, impostare le autorizzazioni di accesso semplice ( chmod) su 770e aggiungere user1con 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/sudoersvoce 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 rooteseguire il sudocomando.
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'è.
sudocomando che hai scritto?