Administration linux via interface php

Fermé
momo - 28 mars 2005 à 23:19
 momo - 29 mars 2005 à 02:47
salut
je voudrais pouvoir executer des commandes systemes depuis une page php.
pour les commandes ls,find,et ps ca marche sans bp et j'arrive a afficher le resultat sur ma page ,mais quand je vx écrire sur le disque avec mkdir,touch ou autre ca marche pas
je crois que c un pb de droit mais je sais pas comment faire.
j'utilise apache 2.0.53 + php 5.0.3
A voir également:

5 réponses

kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Non membre Dernière intervention 5 février 2025 1 526
28 mars 2005 à 23:28
Salut,

Ce n'est qu'une supposition mais je pense que ça fonctionne comme un script habituel => il faut que l'uid du fichier php se rapporte à celui d'un utilisateur qui a les droits necessaires pour faire ce que tu veux faire.

Par exemple disons que tu as un utilisateur non-admin nommé momo.
Si un script écris par cet utilisateur essaie de créer un fichier dans /etc, il ya des chances pour qu'il n'ait pas les droits pour le faire.
0
gbenay Messages postés 61 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 3 mars 2006 11
28 mars 2005 à 23:40
Bonjour,
tout a fait d'accord avec kilian, pour ecrire, modifier, supprimer un fichier, un repertoire, .... il faut avoir les droits du proprietaire.
Il existe un "outil" d'administration par interface graphique "webmin" mais qui est en perl, cgi, ...
Regarde le contenu il peut t'inspirer.

De meme en php, il existe des "applis" comme phpMyAdmin, phpLDAPADMIN, phpgroupware, qui peuvent ecrire dans des fichiers, repertoires, consulte les elle te donneront peut-etre une partie de la reponse.

A+
0
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Non membre Dernière intervention 5 février 2025 1 526
28 mars 2005 à 23:58
En fait pour préciser ma réponse...
Chez moi j'ai l'utilisateur kilian qui a pour uid 1000
/etc appartient à root, donc l'uid du propriétaire de /etc est 0

Voici les données précises de /etc/passwd chez moi en tapant ls -l /
-rw-r--r--  1 root root 1268 2005-03-19 01:50 /etc/passwd


Voilà, /etc/passwd appartient à root.On voit que pour root, les droit de /etc/passwd sont /lecture/écriture/
Pour le groupe root c'est lecture. Et pour les autres utilisateurs, dont kilian, les droits sont juste lecture.
(Voir http://www.lea-linux.org/admin/permissions.html#modification_propriete)

Si un script appartenant à kilian essaie d'écrire dans /etc/passwd il n'y arrivera pas, par contre il pourra le lire.

Pour changer l'appartenance d'un repertoire ou fichier il faut utiliser la commande chown, et pour changer les droits généraux sur un fichier c'est la commande chmod. Fait attention à ne pas changer n'importe quoi par contre, ca peut nuire à la sécurité de ton sytème.
0
au fait j'ai oublié de le signaler mais tout ce que je fais je le fais en tant que root,donc ca devrai marcher en théorie :s
je vais voir pour webadmin et les autres...peut etre que la solution est la ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ca y est j'ai trouvé
en fait il fallait ajouter la ligne
<directory nom_rep>
allow from all
</directory>
dans httpd.conf
et la miracle ca marche :d:d
0