/var/run/screen/S-... inaccessible par apache

Résolu
Bonjour tout le monde,
voilà mon problème (peu répandu je présume) :

Je m'occupe actuellement de l'administration d'un serveur dédié pour ma multigaming. J'aurai aimé faire une interface web qui permette d'éteindre les serveurs lancés et de les (re)booter.

J'ai donc utiliser la fonction exec() de PHP qui affiche le contenu de /var/run/screen/S-admin (admin étant le login par défaut) si ce dossier a un CHMOD de 755. Malheuresement, je ne peux plus accèder aux screens avec 'screen -ls' en console (le shell me répond gentiment que le CHMOD doit rester à 700). :colere2:

D'où ma question : comment faire pour autoriser l'utilisateur www-data (apache) à accèder à /var/run/screen/S-admin de manière
SECURISEE
?
Ou alors comment connaître le mot de passe de l'utilisateur www-data ? que je puisse lancer les screens par cet utilisateur et qu'ils soient alors disponibles dans /var/run/screen/S-www-data.

J'espère que vous avez compris mon problème et je vous remercie par avance de vos réponses ;)

5 réponses

  1. Utilise sudo pour permettre l'exécution d'une commande précise par www-data avec les privilèges d'un autre utilisateur.
    1. Ou dois-je l'utiliser ? dans la fonction exec() de PHP ? parce que c'est la que ca bloque et si j'utilise sudo ici ca va planté car le mot de passe root n'est pas renseigné

      ou bien ? je me trompe peut être
      1. @Flachy Joepetit probleme :

        j'ai modifié le /etc/sudoers mais une erreur de syntaxe m'empeche maintenant de l'ouvrir !!!

        que faire ?
      2. @TheNikosC'est pourtant précisé qu'il faut toujours utiliser visudo pour éditer sudoers.
        Ton compte root n'étant sûrement pas activé (t'es sous quelle distrib ?) il va falloir que tu passe par un liveCD, monter la partition / de ton DD et éditer le sudoers de celle çi. (Ne pas confondre avec celui de la session live...).
        cf http://doc.ubuntu-fr.org/sudo#problemes
      3. @Flachy Joedistrib : unbuntu 8.04
        mais liveCD aucun tout simplement parce que c'est un serveur OVH
      4. @TheNikosBen t'es dans la merde !
        Il te reste la possibilité de réinstaller ton serveur...
    2. Bon je dois mettre la ligne
      www-data ALL=NOPASSWD: ALL

      dans /etc/sudoers pour que ca fonctionne
      est-ce sécurisé ?

      J'ai essayé
      www-data ALL=NOPASSWD /var/run/screen/S-admin
      mais ca ne fait rien :s
      1. Non c'est pas sécurisé !

        Fait un scrit shell qui liste ton dossier et c'est pour se script que tu donnes l'autorisation d'exécution en root.

        expl :
        /nimporte/ou/list_S-admin.sh
        #!/bin/sh
        ls /var/run/screen/S-admin

        [sudoers]
        www-data ALL=NOPASSWD: /nimporte/ou/list_S-admin.sh
    3. Je te remercie de ton aide ;)

      Merci pour ta dispo et tes réponses pertinentes. Je vais tester le reste demain ^^

      MERCI BEAUCOUP