[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Lancement /etc/acpi/sleep.sh en tant qu'utilisateur + une idée





Le samedi 15 août 2009 à 13:02 +0200, thomas a écrit :
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
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 ?

Comme ça, ça marche un peu mieux :
# 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
Mais au final, le fichier créé n'appartient pas à root, donc tu avais raison.

Cordialement,
--
Guillaume


Reply to: