Aller au contenu

Sujets conseillés

Posté (modifié)

bonjour à tous,

je tentes en ce moment, à défaut d'utiliser la librairie SSH2, de lancer un script se connectant en utilisateur X et exécutant la commande Y.

le seul problème est que, ce script est exécuté depuis un exec(); de php. le compte est donc www-data et non X.

dans le script, j'effectue un

su X -c "ma commande"

mais le problème se trouve là: en tant que client www-data, il faut entrer le mot de passe de X. j'ai tenté en tapant

echo "mon_password" > su X -c "Ma commande"

rien n'y fait. il reste blanc, je suppose donc qu'il refuse de se connecter et reste sur "Mot de passe pour X: "

Quelqu'un sait comment envoyer le mot de passe à la commande SU ?

merci d'avance,

cordialement,

Modifié par Aenoa
Posté

su se protège contre ce genre de choses en réinitialisant stdin, de mémoire, donc ce n'est pas possible de cette façon. Ce sera probablement plus simple soit via ssh, soit via un processus avec les bons droits à qui tu vas parler (par exemple un processus en cron qui va récupérer tes choses à faire en bdd, ou un démon qui va faire la même chose, ou un démon a qui tu parles via un socket...).

Jacques.

Posté

très bien, merci de la réponse.

je vais donc rester sur la librairie ssh2 de php.

bonne soirée

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...