Depuis l'utilisateur root, comment puis-je donner des autorisations à un autre utilisateur pour exécuter le fichier /root/script.sh?
L'idée est d'exécuter le script comme sudo -u user1 /root/script.sh
root
privileges
bulkmoustache
la source
la source
sudo
commande que vous avez écrite?su(1)
Réponses:
Je dois dire que je n'ai jamais aimé
sudo
(surtout ses configurations). Plain vieuxsu
:Exécutée à partir de la racine, elle ne demandera pas de mot de passe.
la source
L'utilisateur doit avoir
exécuter la permission pour le chemin du répertoire entier (ici
/root
uniquement)exécuter la permission pour le fichier
autorisation de lecture pour le fichier
Il peut être judicieux de laisser
/root
intact et de créer (ou d'utiliser) un répertoire différent à cet effet (par exemple/usr/local/bin
). Vous pouvez définiruser1
le seul utilisateur autorisé à exécuter le script en en faisant le propriétaire du fichier ou le laisser enroot
tant que propriétaire et groupe, définir les autorisations d'accès simples (chmod
)770
et ajouteruser1
avec les ACL (setfacl
).la source
Si votre script se trouve dans le répertoire racine, alors
user1
ne peut être que root.Votre
/etc/sudoers
entrée ressemblera àNormalement, vous éditez le fichier avec
visudo
Ensuite , vous pouvez aussi ne pas besoin de mettre
-u root
à votresudo
commande.Le
%
signifie le groupe d'utilisateurs. Lorsque vous l'omettez, seul l'utilisateur est autorisé à exécuter la commande. Si vous voulez qu'un groupe d'utilisateurs l'exécute, laissez-le tel quel.la source