#1 Le 15/06/2015, à 16:00
- kboo
[Résolu] Lancer une commande en tant qu'un autre utilisateur
Bonjour,
Je cherche à lancer la commande suivante:
echo "-" > /appli/j/appPID
en tant qu'utiliteur "user23"
Le tout dans un script:
J_USER="user23"
J_CONSOLE="/tmp/log"
CMD=???
env - su -l ${J_USER} -s /bin/sh -c "${CMD} > ${J_CONSOLE} 2>&1"
où CMD serait la commande
echo "-" > /appli/j/appPID
.. je sèche ...
merci d'avance!!!
Dernière modification par kboo (Le 16/06/2015, à 16:01)
Hors ligne
#2 Le 15/06/2015, à 16:35
- erresse
Re : [Résolu] Lancer une commande en tant qu'un autre utilisateur
Bonjour,
Pourquoi "env - su..." ?
As-tu essayé avec simplement "su..." ?
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#3 Le 16/06/2015, à 07:52
- kboo
Re : [Résolu] Lancer une commande en tant qu'un autre utilisateur
Bonjour,
Bonne question, c'est un script existant que j'ai récupéré et qui ne fonctionne pas. Mon prédécesseur a laissé des bugs....
Mais je ne pense pas que cela change grand chose à mon problème.... je me trompe?
Comment faire?
Merci d'avance
Dernière modification par kboo (Le 16/06/2015, à 08:46)
Hors ligne
#4 Le 16/06/2015, à 09:15
- Sciensous
Re : [Résolu] Lancer une commande en tant qu'un autre utilisateur
dans un terminal, logue-toi en user23 et teste la commande directement pour voir des erreurs éventuelles
sous ubuntu LTS de la 06 à la 22.04, puis arrêt pour Debian 12 et antiX 21 ou 23
( sous LXDE et gnome-shell )
Hors ligne
#5 Le 16/06/2015, à 09:55
- kboo
Re : [Résolu] Lancer une commande en tant qu'un autre utilisateur
Bonjour Sciensous,
user23@ubuntu:~$ J_USER="user23"
user23@ubuntu:~$ J_CONSOLE="/tmp/log"
user23@ubuntu:~$ CMD="echo - > /appli/j/appPID"
user23@ubuntu:~$ env - su -l ${J_USER} -s /bin/sh -c "${CMD} > ${J_CONSOLE} 2>&1"
Password:
user23@ubuntu:~$ cat /appli/j/appPID
user23@ubuntu:~$ cat /tmp/log
-
user23@ubuntu:~$
en fait le ">" ne se fait pas correctement....
Hors ligne
#6 Le 16/06/2015, à 10:09
- kboo
Re : [Résolu] Lancer une commande en tant qu'un autre utilisateur
si je fais
CMD="echo - \> /appli/j/appPID"
ça donne:
user23@ubuntu:~$ cat /appli/j/appPID
user23@ubuntu:~$ cat /tmp/log
- > /appli/j/appPID
Hors ligne
#7 Le 16/06/2015, à 10:40
- kboo
Re : [Résolu] Lancer une commande en tant qu'un autre utilisateur
Le but étant d'avoir
user23@ubuntu:~$ cat /appli/j/appPID
-
Hors ligne
#8 Le 16/06/2015, à 11:26
- credenhill
Re : [Résolu] Lancer une commande en tant qu'un autre utilisateur
hello
il y a 2 redirections, le - va dans la 2ème, enlever > ${J_CONSOLE}
$ echo - > a > b
$ cat a
$ cat b
-
Dernière modification par credenhill (Le 16/06/2015, à 11:27)
Hors ligne
#9 Le 16/06/2015, à 14:28
- bruno
Re : [Résolu] Lancer une commande en tant qu'un autre utilisateur
sudo -u nom_de_l_utilisateur
voir aussi les options -s et -i
#10 Le 16/06/2015, à 14:38
- erresse
Re : [Résolu] Lancer une commande en tant qu'un autre utilisateur
Ou mettre ${j_console} en sortie d'erreur (c'est bien un log, non ?), en remplacement de &1 :
env - su -l ${J_USER} -s /bin/sh -c "${CMD} 2> ${J_CONSOLE}"
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#11 Le 16/06/2015, à 16:00
- kboo
Re : [Résolu] Lancer une commande en tant qu'un autre utilisateur
En effet, credenhill a mis le point sur le problème,
merci à tous, c'est réglé!
Hors ligne