|
|
|
|
||||||
| fr.comp.os.linux.config Prise en main d'un système Linux. |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour,
Je cherche a me faire un petit portail web intranet affichant l'etat de mes disques dures. Pour cela, hdparm -C /dev/hdb me retourne ce que je veux. j'avais donc pensé dans un premier temps faire un script python qui pour tout mes disque appel hdparm -C et afffiche l'etat. Du style : DISK1 active/idle DISK2 standby ....... Ensuite, je pensais le mettre en SUID (chmod 4755) Puis dans mon portail web en PHP j'aurais appelé ce programme et traité le resultat avant affichage. Malheureusement, a premiere vu, même avec SUID mon script n'est pas executé en ROOT lors de l'appel par un user. Alors, j'ai ecrit un autre script : ____________________________ #!/bin/sh python /chemin/monprograme ____________________________ Je l'ai mis en SUID mais le resultat est le meme... comme si mon script n'est pas executé en root... Comment faire? Tout en ayant un minimum de securité... |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Salut,
condo4 a écrit : > > Je cherche a me faire un petit portail web intranet affichant l'etat > de mes disques dures. > Pour cela, hdparm -C /dev/hdb me retourne ce que je veux. > j'avais donc pensé dans un premier temps faire un script python qui > pour tout mes disque appel hdparm -C et afffiche l'etat. [...] > Ensuite, je pensais le mettre en SUID (chmod 4755) > Puis dans mon portail web en PHP j'aurais appelé ce programme et > traité le resultat avant affichage. > > Malheureusement, a premiere vu, même avec SUID mon script n'est pas > executé en ROOT lors de l'appel par un user. Le SUID ne marche pas avec les scripts, pour des raisons de sécurité. Tu pourrais par exemple faire exécuter hdparm périodiquement par une tâche cron en root et enregistrer le résultat quelque part. Le site n'aurait plus qu'à qu'à récupérer les résultats là où ils sont stockés. |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
--{ condo4 a plopé ceci: }--
> Je l'ai mis en SUID mais le resultat est le meme... comme si mon > script n'est pas executé en root... > Normal. Le kernel n'honore pas le bit suid sur les scripts pour des raisons de sécurité. > Comment faire? > Tout en ayant un minimum de securité... Il faut écrire un wrapper en C qui se chargera de vérifier le contexte d'exécution et lancera le script Python. -- je cherche ou télécharger windows média player ou mieux un lecteur me permettant d'écouter les radios de préférence en format rpm je ne sais pas charger un autre format je suis sous mandriva 2007 --{ Bon, reprenons du début... }-- |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
Ok merci pour vos reponse...
Du coup, la solution que j'ai fait : un petit prog en C, qui appel hdparm -C /dev/hdX avec X passé en parametre. Du coup, c'est sur ce programme que j'ai mis le SUID. Ensuite, j'ai un script python qui appel ce programme et qui fait les truc compliqué (analyse du resultat, travail sur chaine de caratère....) c'est pas que c'est infesable en C, mais telement plus comfortable en python lol Enfin, c'est bon, j'ai ce que je veux... @+Fab |
|
![]() |
| Outils de la discussion | |
|
|