Je veux créer un script (lancé uniquement par l'user root).
Mais je veux que les commandes contenues dans le script soient lancées avec un autres user.
Pour être plus clair voici un exemple:
cat test.sh
#!/bin/sh
su ? user2
id > /home/user2/id.txt
exit
ls -l test.sh
-rwxr--r-- 1 root root 46 Oct 11 09:31 test.sh
Donc seul le root peux lancer le script (ce que je veux).
Mais si je fais cat /home/user2/id.txt j'obtiens :
uid=0(root) gid=0(root) groups=0(root)
Alors que je voudrais
uid=500(user2) gid=500(user2) groups=500(user2)
Qlq'un a une idée ?
Merci
Publicité
Posté le 11-10-2003 à 11:58:31
eristoff
Posté le 11-10-2003 à 12:10:16
Code :
id user2
tout simplement
Message édité par eristoff le 11-10-2003 à 12:10:26
redmail
Posté le 11-10-2003 à 12:19:11
Merci pour ta réponse.
Mais ce script est juste un exemple pour dire que ma commande su - user2 ne fonctionne pas.
En fait, mon script final sera destiné à lancer des db Oracle avec l'user Oracle est des services tomcat avec comme user java.
eristoff
Posté le 11-10-2003 à 12:39:09
ah ok
le pb c'est que su ouvre un nouveau shell et que tes commandes sont envoyées dans l'ancien shell, regarde du coté du paramètre -c qui permet d'executer une cmd dans le nouveau shell