Changer son id dans un script

Changer son id dans un script - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 11-10-2003 à 11:58:31    

Bonjour à tous.
 
J'explique mon problème
 
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

Reply

Marsh Posté le 11-10-2003 à 11:58:31   

Reply

Marsh Posté le 11-10-2003 à 12:10:16    

Code :
  1. id user2

 
tout simplement


Message édité par eristoff le 11-10-2003 à 12:10:26
Reply

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

Reply

Marsh 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

Code :
  1. su user2 -c id

Reply

Marsh Posté le 11-10-2003 à 19:26:41    

sudo -u user2 id


Message édité par becket le 11-10-2003 à 19:26:54
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed