Re: Lancement /etc/acpi/sleep.sh en tant qu'utilisateur + une idée
Guillaume Caron, dimanche 16 août 2009, 10:13:12 CEST >[…] > > 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: >[…] > 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 : >[…] Non. Le bit SUID est désactivé sur les scripts (de nos jours). De toute façon, cette idée est dangereuse (injection de code dans les paramètres p.ex.). On peut contourner le problème en faisant un programme compilé, SUID, qui ferait juste un system(3) (⇒ man 3 system). Puis on ajoute de la sécurité à ce programme (mot de passe) et quelques options et on l’appelle « su ». Si on ajoute quelques fichiers de configuration, on l’appelle « sudo ». Et rappelez-vous que les cochons sont des suidés… -- Sylvain Sauvage -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
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~ : > > 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
Re: Lancement /etc/acpi/sleep.sh en tant qu'utilisateur + une idée
On 15/08/2009 10:25, thomas wrote: Bonjour à tous, Bonjour, 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) ^^ De manière générale, je trouve ça gênant qu'on ne puisse ajouter que des binaires à sudoers et pas des noms de shell scripts. Il y aurait peut-être à ce sujet un petit programme simple à faire en C: un bête lanceur de scripts dont le nom figure dans une "liste blanche" éditable seulement par root. On ajoute ce lanceur à sudoers et ça donne: ~$ sudo zelauncher /etc/acpi/sleep.sh # mise en veille par un user, # pas de mot de passe à taper ~$ sudo zelauncher /tmp/evilscript.sh # un script malveillant Sorry, '/tmp/evilscript.sh' not in '/etc/zelauncher.whitelist' Qu'en dites-vous? Thomas -- TraydenT -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Re: Lancement /etc/acpi /sleep.sh en tant qu'utilisateur + une idée
On Sat, Aug 15, 2009 at 10:25:22AM +0200, thomas wrote: > Bonjour à tous, Bonjour, > 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? Quite à dire une betise, fait-tu partie du groupe "powerdev" ? Bonne journée, Sil -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org
Lancement /etc/acpi/sleep.sh en tant qu'utilisateur + une idée
Bonjour à tous, 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. De manière générale, je trouve ça gênant qu'on ne puisse ajouter que des binaires à sudoers et pas des noms de shell scripts. Il y aurait peut-être à ce sujet un petit programme simple à faire en C: un bête lanceur de scripts dont le nom figure dans une "liste blanche" éditable seulement par root. On ajoute ce lanceur à sudoers et ça donne: ~$ sudo zelauncher /etc/acpi/sleep.sh # mise en veille par un user, # pas de mot de passe à taper ~$ sudo zelauncher /tmp/evilscript.sh # un script malveillant Sorry, '/tmp/evilscript.sh' not in '/etc/zelauncher.whitelist' Qu'en dites-vous? Thomas -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org