Rechercher : dans
Par :

Exécuter script shell avec autre utilisateur

Dernière réponse le 2 mar 2009 à 20:18:49 sam, le 2 mar 2009 à 10:16:39 
 Signaler ce message aux modérateurs

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.

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « Exécuter script shell avec autre utilisateur » dans :
Exécuter un script shell Voir Exécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha-Bang Premièrement,...

1

mamiemando, le 2 mar 2009 à 11:55:49

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/...

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

Répondre à mamiemando

2

sam, le 2 mar 2009 à 12:49:53

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 :(

Répondre à sam

3

linuxnico, le 2 mar 2009 à 13:03:48

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...

Répondre à linuxnico

4

sam, le 2 mar 2009 à 13:11:31

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 :)

Répondre à sam

5

wapette21, le 2 mar 2009 à 14:48:30

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.

Répondre à wapette21

6

wapette21, le 2 mar 2009 à 14:50:52

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

a+

Répondre à wapette21

7

 mamiemando, le 2 mar 2009 à 20:18:49

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

Répondre à mamiemando