Exécuter script shell avec autre utilisateur

Résolu/Fermé
sam - 2 mars 2009 à 10:16
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 2 mars 2009 à 20:18
Bonjour,
Mon problème est comme suit :
à partir du shell d'un utilisateur Y autre que le root, je voudrai lancer un script shell avec un autre utilisateur Y sans demander de mot de passe.

Merci d'avance.

7 réponses

c'est un script qui s'execute en arrière plan ;)
le ssh est mieux placé pour cela.
Merci pour ta réponse tout de même :)
2
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
2 mars 2009 à 11:55
C'est possible de lancer un script distant avec un autre login et éventuellement sur une autre machine via ssh
ssh login@machine /le/chemin/vers/le/script.sh

Dans ce cas, "machine" doit avoir lancé un serveur ssh.

Pour éviter de taper le mot de passe, il suffit de configurer une clé ssh :
http://prendreuncafe.com/blog/post/2005/08/29/262-installer-sa-cle-ssh-sur-un-serveur-distant

Si c'est là même machine, tu peux remplacer "machine" par "localhost" ou 127.0.0.1. Mais dans ce cas, tu n'as même pas besoin de passer par ssh, su doit suffire avec l'option --command :
http://www.linux-france.org/article/man-fr/man1/su-1.html

Bonne chance
0
Bonjour,
Merci pour ta réponse. Mais mon problème c'est pas le ssh, ça je sais faire et c'est ce que je fais d'ailleurs.
Quand je lance un ssh user2@machine script il s'execute au niveau de la machine distante avec l'utilisateur de cnx shell.
Exemple:
1.Se connecter avec user1
2.lancer le script via ssh "ssh user2@machine script"

Au niveau de la machine distante c'est le user1 qui est pris par défaut :(
0
linuxnico Messages postés 204 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 8 octobre 2010 10
2 mars 2009 à 13:03
ta essaye tout simplement:

su user2 command=script

a la place de ton script?

par contre, "su user2" te demandera le password de user2, mais c'est normal

voila si ca peux t'aider...
0

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

Posez votre question
tu peux regarder du coté de sudo, cela te permet de configurer l'exécution de ton shell avec un autre user et sans avoir a entrez de mdp.

bon courage.
0
un petit oublie sur la même machine tu peut faire aussi un su toto - c "script.ksh" quelque chose du genre...

a+
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
2 mars 2009 à 20:18
Tout d'abord avec un su ce serait plutôt --command :
(mando@aldur) (~) $ su - root --command="whoami"
root

Au niveau de ssh je pense que tu te trompes, c'est bien le profil via lequel tu te connectes en ssh qui est uitlisé :
(mando@aldur) (~) $ ssh root@localhost whoami
root@localhost's password:
root

Bonne chance
0