Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 résolu, 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


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( 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

Hors ligne

#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 résolu, 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é!
big_smile

Hors ligne