script setuid "suspend to disk" - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 21-08-2004 à 02:36:03
jaurais tendance à dire parce qu'il peut lancer le script en tant que root, mais il n'a pas les accès root pour faire des manip sur d'autres fichiers
en gros, le user il est root que sur le script
/* je crois, je ne l'affirme pas */
Marsh Posté le 21-08-2004 à 03:04:54
j'aurais tendance à dire que non
le script est exécuté en tant que root, mais ne te droit pas accès partout en tant que root
si tu veux vraiment tester, créer toi un fichier toto.txt en 700 et tente de le lire avec un script tata.sh qui est 770 avec un setuid
Marsh Posté le 21-08-2004 à 13:32:28
'ffectivement ca passe pas non plus.
du coup, je sais plus comment faire... j'ai cette ligne de commande qui doit être exécutée en root et je voudrais que n'importe quel user puisse l'exécuter. comment donc?
Marsh Posté le 21-08-2004 à 14:09:50
tu peux pas chmodder le fichier sleep pour que n'importe qui ait accès en écriture?
Marsh Posté le 21-08-2004 à 14:38:47
(merci pour ton soutien )
non je crois pas puisque c'est un truc système... pas un vrai fichier
Marsh Posté le 21-08-2004 à 14:41:31
bon moi jai viré l'acpi de mon kernel, mais si je regarde /proc/cpuinfo, c'est bien un fichier
selon moi c'est tous des fichiers "normaux"
Marsh Posté le 21-08-2004 à 14:56:12
Ouaip. effectivement ca passe. mais j'sais pas ca me chagrine un peu de changer des droits sur des "fichiers" système.
j'avais un jour entendu que /proc et /dev étaient montés "à la manière" d'un système de fichier, mais sans l'être vraiment.
D'ou ma réticence à modifier des trucs là-dedans.
M'enfin si on m'assure que gênera rien... soit!
Marsh Posté le 21-08-2004 à 15:19:31
bin de manière logique, tu veux que n'importe qui puisse écrire dans /proc/acpi/sleep alors la solution c'est de mettre un o+w sur celui ci
par contre c'est là que des acls sont pratique (comme avec DFS) où l'on a des acl donne le droit d'écriture sur un fichier, mais qui empêche de changer les acls ou de le supprimer
Marsh Posté le 25-08-2004 à 21:43:06
Rha............
J'ai cru que ca passait, mais le filou se laisse pas faire : lorsque je reboot il remet les droits classiques sur /proc/acpi/sleep
Y'a donc jamais personne qu'a eu besoin de ca? (sauf toi Burgergold )
Marsh Posté le 25-08-2004 à 22:19:38
bah tu te rajoutes un truc au boot qui va le chmodder comme tu le veux
Marsh Posté le 25-08-2004 à 22:28:06
/proc/acpi/sleep devient un lien symbolique vers un fichier sur lequel tlm a le droit en écriture?
Marsh Posté le 25-08-2004 à 23:06:02
Je pense pas que ca puisse aller parce je voudrais associer cette commande root à une icone KDE.
Peut-être que je connais mal sudo, mais pour moi cette commande oblige à taper un passwor. Or justement je voudrais que ce soit d'un usage facile...
Marsh Posté le 25-08-2004 à 23:09:40
tu compiles un petit truc en C qui a le password à l'intérieur et qui va effectuer la tache avec un sudo
Marsh Posté le 25-08-2004 à 23:11:48
euh... y'a pas un moyen simple de faire ce truc de 3 fois rien? Ca prend des proportions impressionnantes !
Marsh Posté le 25-08-2004 à 23:13:41
bah c'est pas très gros à faire en C sérieusement
le plus simple reste d'ajouter le chmod dans ton inittab
Marsh Posté le 27-08-2004 à 22:10:10
OK ca passe.
Pour info voilà le truc. Avec le Setuid ca marche nickel pour n'importe quel user.
#include <stdio.h> |
Marsh Posté le 21-08-2004 à 02:32:52
je me suis fais un petit script pour faire un suspend_to_disk (hibernate) automatique. C'est une ligne unique:
#!/bin/sh
echo 4 > /proc/acpi/sleep
lorsque je le lance en root la manip se fait sans probleme. Par contre ce que je voudrais c'est que n'importe quel user puisse exécuter cette commande simplement. J'ai essayé de jouer avec les SUID bits:
ll suspend*
-rwsr-sr-x 1 root root 36 Aug 20 20:11 suspend_to_disk*
malheureusement lorsque je lance mon script avec un user normal j'ai le message:
[toto@localhost home]$ ./suspend_to_disk
./suspend_to_disk: line 2: /proc/acpi/sleep: Permission denied
Pourquoi il me donne pas la permission? Je capte pas mon /proc/acpi/sleep est pourtant en:
[toto@localhost home]$ ll /proc/acpi/sleep
-rw-r--r-- 1 root root 0 Aug 21 02:31 /proc/acpi/sleep
Merci bcp pour vos idées...!
Message édité par Figti le 21-08-2004 à 02:35:04