Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1495 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  script setuid "suspend to disk"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

script setuid "suspend to disk"

n°544009
Figti
Posté le 21-08-2004 à 02:32:52  profilanswer
 

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...! :wahoo:


Message édité par Figti le 21-08-2004 à 02:35:04
mood
Publicité
Posté le 21-08-2004 à 02:32:52  profilanswer
 

n°544010
burgergold
5$? va chez l'diable!
Posté le 21-08-2004 à 02:36:03  profilanswer
 

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 */


---------------
http://www.boincstats.com/signature/user_664861.gif
n°544015
Figti
Posté le 21-08-2004 à 03:02:59  profilanswer
 

mais le setuid permet pas de contourner ca justement?

n°544017
burgergold
5$? va chez l'diable!
Posté le 21-08-2004 à 03:04:54  profilanswer
 

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


---------------
http://www.boincstats.com/signature/user_664861.gif
n°544144
Figti
Posté le 21-08-2004 à 13:32:28  profilanswer
 

'ffectivement ca passe pas non plus.  :sweat:
 
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?
:jap:

n°544174
burgergold
5$? va chez l'diable!
Posté le 21-08-2004 à 14:09:50  profilanswer
 

tu peux pas chmodder le fichier sleep pour que n'importe qui ait accès en écriture?


---------------
http://www.boincstats.com/signature/user_664861.gif
n°544207
Figti
Posté le 21-08-2004 à 14:38:47  profilanswer
 

(merci pour ton soutien ;))
non je crois pas puisque c'est un truc système... pas un vrai fichier :(

n°544211
burgergold
5$? va chez l'diable!
Posté le 21-08-2004 à 14:41:31  profilanswer
 

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"


---------------
http://www.boincstats.com/signature/user_664861.gif
n°544222
Figti
Posté le 21-08-2004 à 14:56:12  profilanswer
 

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! ;)

n°544237
burgergold
5$? va chez l'diable!
Posté le 21-08-2004 à 15:19:31  profilanswer
 

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


---------------
http://www.boincstats.com/signature/user_664861.gif
mood
Publicité
Posté le 21-08-2004 à 15:19:31  profilanswer
 

n°546507
Figti
Posté le 25-08-2004 à 21:43:06  profilanswer
 

Rha............ :cry:
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 ;))

n°546527
burgergold
5$? va chez l'diable!
Posté le 25-08-2004 à 22:19:38  profilanswer
 

bah tu te rajoutes un truc au boot qui va le chmodder comme tu le veux :D


---------------
http://www.boincstats.com/signature/user_664861.gif
n°546530
Figti
Posté le 25-08-2004 à 22:23:02  profilanswer
 

pfiou c'te truc de sale... :/
Une autre suggestion? :P

n°546531
burgergold
5$? va chez l'diable!
Posté le 25-08-2004 à 22:28:06  profilanswer
 

/proc/acpi/sleep devient un lien symbolique vers un fichier sur lequel tlm a le droit en écriture? :D


---------------
http://www.boincstats.com/signature/user_664861.gif
n°546544
alien cons​piracy
hardtrance addict
Posté le 25-08-2004 à 22:47:22  profilanswer
 

et sudo ?

n°546563
Figti
Posté le 25-08-2004 à 23:06:02  profilanswer
 

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...

n°546567
burgergold
5$? va chez l'diable!
Posté le 25-08-2004 à 23:09:40  profilanswer
 

tu compiles un petit truc en C qui a le password à l'intérieur et qui va effectuer la tache avec un sudo


---------------
http://www.boincstats.com/signature/user_664861.gif
n°546569
Figti
Posté le 25-08-2004 à 23:11:48  profilanswer
 

euh... y'a pas un moyen simple de faire ce truc de 3 fois rien? Ca prend des proportions impressionnantes ! :D

n°546572
burgergold
5$? va chez l'diable!
Posté le 25-08-2004 à 23:13:41  profilanswer
 

bah c'est pas très gros à faire en C sérieusement
 
le plus simple reste d'ajouter le chmod dans ton inittab


---------------
http://www.boincstats.com/signature/user_664861.gif
n°547519
Figti
Posté le 27-08-2004 à 22:10:10  profilanswer
 

OK ca passe.
Pour info voilà le truc. Avec le Setuid ca marche nickel pour n'importe quel user.

#include <stdio.h>
int main(void)
{
        char value = '4' ;
        FILE *monFichier ;
 
        if ((monFichier = fopen("/proc/acpi/sleep", "w" )) != NULL)
        {
                if (fwrite(&value, sizeof(char), 1, monFichier) != 1)
                {
                        fclose(monFichier) ;
                        printf("Write error - Suspend to Disk interrupted\n" ) ;
                        exit(1) ;
                }
        }
        else
                {
                printf("Error when trying to open /proc/acpi/sleep\n" ) ;
                exit(1) ;
                }
 
        fclose(monFichier) ;
        printf("Suspend to Disk pending...\n" ) ;
 
        return 0 ;
}
 


Message édité par Figti le 27-08-2004 à 22:10:55

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  script setuid "suspend to disk"

 

Sujets relatifs
[Debian] script iwconfigPb sur un script bash
[Debian] Script de démarragecommande pour lancer un script .sh dans la console ???
installer Linux/supprimer win95: pas assez d'espace sur mon disk dur.envoyer un email avec un script shell??
script bashExecuter un script quand Root se loggue ?
crontab -e directement par un script shell ???petit probleme avec script
Plus de sujets relatifs à : script setuid "suspend to disk"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR