• # SUEXEC ?

    Posté par . En réponse au message apache et ssh.. Évalué à 2.

    Salut,
    Pour résumer et voir si j'ai bien compris :
    - tu as un serveur d'admin avec Apache (quelle version ?) et PHP (module Apache)
    - tu veux que ces scripts PHP exécutent des commandes sur d'autres serveurs via SSH.

    Dans ce cas, la commande SSH sera exécutée par l'utilisateur Apache (celui déclaré dans httpd.conf) et il faut donc générer une privée pour l'utilisateur Apache et déposer la clé publique correspondante sur les machine cibles (dans le fichier authorized_keys des users visés).

    Si tu ne veux pas, pour des raisons de sécurité, que ce soit l'utilisateur Apache qui se connecte sur les machines cibles, tu peux essayer d'utiliser des CGI au lieu du module PHP pour Apache (remarque que tes CGI peuvent être des scripts PHP, mais qu'il doivent être exécutés par un interpréteur externe et non pas par Apache via le module PHP adéquat). Via le module Apache suexec (et moyennant quelques considérations de sécurité à découvrir dans la doc Apache), ces CGI seront exécutés par leur propriétaire -> c'est donc la clé de celui-ci qu'il faut distribuer (il est possible que le répertoire ~user/.ssh ne soit pas accessible depuis le CGI : il faut alors mettre la clé privé au bon endroit dans l'arborescence, la préciser lors de l'appel ssh et la protéger correctement au niveau des droits d'accès).

    Concernant ta deuxième question, je n'ai pas tout compris. S'il s'agit de pouvoir exécuter des commandes arbitraires depuis l'interface web sur les serveurs à administrer, tu peux essayer de jeter un coup d'1⁄2il du côté du module telnet de webmin : il me semble que c'est écrit en Perl et que ça permet d'ouvrir des sessions telnet ou SSH sur des serveurs distants. Il n'est pas impossible que ce soit adaptable à tes besoins.

    En espérant avoir pu t'aider (et ne pas être trop à côté de la plaque)
    JJD