Euh, cette erreur ne serait pas plutôt dû au fait que les utilisateurs normaux n'ont pas d'accès en lecture (et surtout pas en écriture !) sur le répertoire /root ?2009/8/15 ~TraydenT~ <traydent@gmail.com>: > On 15/08/2009 10:25, thomas wrote: >> Cela m'ennuie de taper mon mot de passe root à chaque fois que je lance >> /etc/acpi/sleep.sh ou /etc/acpi/hibernate.sh (et je ne vois pas de bonne >> raison d'utiliser uswsusp). Y a-t-il un moyen simple d'y arriver sans >> ajouter à sudoers toutes les commandes des scripts qui doivent être >> lancées en root? J'aimerais bien y mettre directement les deux scripts, >> mais comme ce ne sont pas des binaires, ça ne marche pas. >> > J'allais dire Sticky Bit, mais j'ai bien fait de vérifier : du coup, je vais > dire SUID (http://fr.wikipedia.org/wiki/Permissions_Unix#Droit_SUID) ^^ Non ça n'est pas si simple que ça parce que précisément le SUID n'a pas d'effet sur un shell script (sauf erreur de ma part). Exemple: ~# echo "touch /root/test" > foo.sh ~# chmod +x,+s foo.sh ~# ll foo.sh -rwsr-sr-x 1 root 17 aoû 15 12:28 foo.sh ~# exit exit ~$ /root/foo.sh touch: ne peut faire un touch sur `/root/test': Permission non accordée
Mais au final, le fichier créé n'appartient pas à root, donc tu avais raison.# echo "touch /tmp/essai" > /tmp/foo.sh # chmod +x,+s /tmp/foo.sh # ll /tmp/foo.sh -rwsr-sr-x 1 root root 17 aoû 16 10:09 /tmp/foo.sh # exit exit $ /tmp/foo.sh $ ls -l /tmp/essai -rw-r--r-- 1 gc gc 0 aoû 16 10:09 /tmp/essai
-- Guillaume |