Lancer application graphique sous un autre utilisateur ?

(Re)Hello !

Je souhaiterais lancer une application graphique sous un autre compte utilisateur restreint, mais je rencontre quelques problèmes…

je crée un utilisateur restreint avec la commande: sudo adduser --no-create-home --shell /bin/false user1

J’ai fais quelques recherches et si j’ai bien compris, cela fonctionne avec le serveur X (Xorg) et l’utilitaire xauth pour gérer les authentifications clients et xhost pour gérer les autentifications clients venant du réseau, moi ce qui m’interresse c’est lancer un programme sous un autre compte utilisateur restreint, en local et non à distance, donc xhost ne sert à rien dans mon cas, non?

J’ai trouvé plusieurs docs dont coagul.org/article.php3?id_article=445 qui est interressante mais j’en viens à me poser une question après avoir lu:

[quote]Utiliser le cookie utilisateur

Voici la solution la plus propre pour cela :

Modifier la variable “$DISPLAY” et la variable “$XAUTHORITY” comme suit (gnunux est l’utilisateur ayant lancé X) :

[gnunux@serveurx ]$ su -
Mot de passe :
[root@serveurx ]# export DISPLAY=":0.0"
[root@serveurx ]# export XAUTHORITY=/home/gnunux/.Xauthority
[root@serveurx ]# gedit
[root@serveurx ]#
[/quote]

  1. Cela ne pose pas de risque de sécurité d’avoir le même cookie pour avoir accès au serveur X ?

  2. Comment faire puisque je n’ai pas de /home et que j’ai un shell restreint ?

Ese que vous auriez une solution sécurisé SVP ? :slightly_smiling:

Merci, @ bientôt !

Bonjour, une façon “sale” mais sécurisée si tu as deux machines, avec possibilité de faire du ssh AVEC X11Forwarding de l’une vers l’autre, je schématise la situation:

  • Utilisateurs: bob et joe sur tuitui et jack sur pouet, tu es physiquement sur tuitui en tant que bob sur une session graphique, tu veux lancer une appli graphique en tant que joe.
  • Machines: tuitui et pouet, sur lesquelles tourne un serveur ssh avec:
X11Forwarding yes

dans chacun des /etc/ssh/sshd_config. Tu es bob@tuitui, tu veux lancer une appli sur ton bureau en tant que joe; tu fais dans un xterm:

bob@tuitui % ssh -X jack@pouet
jack@pouet % ssh -X joe@tuitui
joe@tuitui % gedit &

Remarque, il suffit peut être de faire (à tester!) [EDIT: testé et ça marche]:

bob@tuitui % ssh -X joe@tuitui
joe@tuitui % gedit &

[EDIT] une phaute d’orthographe et la solution deux marche; si les connexions ssh sont possibles bien sûr (voir config du serveur.)

[quote=“ziouplaboum”]Bonjour, une façon “sale” mais sécurisée si tu as deux machines, avec possibilité de faire du ssh AVEC X11Forwarding de l’une vers l’autre, je schématise la situation:

  • Utilisateurs: bob et joe sur tuitui et jack sur pouet, tu es physiquement sur tuitui en tant que bob sur une session graphique, tu veux lancer une appli graphique en tant que joe.
  • Machines: tuitui et pouet, sur lesquelles tourne un serveur ssh avec:
X11Forwarding yes

dans chacun des /etc/ssh/sshd_config. Tu es bob@tuitui, tu veux lancer une appli sur ton bureau en tant que joe; tu fais dans un xterm:

bob@tuitui % ssh -X jack@pouet
jack@pouet % ssh -X joe@tuitui
joe@tuitui % gedit &

Remarque, il suffit peut être de faire (à tester!) [EDIT: testé et ça marche]:

bob@tuitui % ssh -X joe@tuitui
joe@tuitui % gedit &

[EDIT] une phaute d’orthographe et la solution deux marche; si les connexions ssh sont possibles bien sûr (voir config du serveur.)[/quote]

Salut ziouplaboum ! :slightly_smiling:

Oui ta méthode est très interressante pour une utilisation à distance du X forwarding, alors que moi c’est pour une utilisation local, sur la même machine donc, càd lancer sous un utilisateur un programme sous un autre utilisateur… 8)

Tu n’aurais pas une solution ? ou bien peut être je peux experimenter la tienne mais c’est un peu lourd je trouve d’installer un serveur SSH rien que pour cela :astonished:

Qu’en penses tu?

Bye.

[quote=“Claire.F”]Salut ziouplaboum ! :slightly_smiling:

Oui ta méthode est très interressante pour une utiliser à distance du X forwarding, alors que moi c’est pour une utilisation local, sur la même machine donc, càd lancer sous un utilisateur un programme sous un autre utilisateur… 8)

Tu n’aurais pas une solution ? ou bien peut être je peux experimenter la tienne mais c’est un peu lourd je trouve d’installer un serveur SSH rien que pour cela :astonished:

Qu’en penses tu?

Bye.[/quote]

Salut Claire. Bon en fait ce que je te propose marche aussi en local, rien ne t’empêche depuis claire@monordi de te connecter en ssh -X sur le compte de toto@monordi, si tu ne peux pas le faire c’est que:

  • tu n’as pas de serveur ssh qui tourne sur ta machine?
  • tu n’as pas autorisé le X11Forwarding (éditer /etc/ssh/sshd_config )
  • claire@monordi n’as pas le droit de se connecter en tant que toto sur monordi.

–> installation et/ou configuration de openssh-server, la configuration par défaut devrait suffire, à l’exception de la ligne concernant le X11Forwarding citée dans mon premier poste (un /etc/init.d/ssh reload après modification de la configuration est nécessaire et devrait être suffisant.)

Je ne connais pas d’autre solution, c’est simple et sécurisé, il te faut juste laisser tourner un serveur ssh et à l’usage tu trouveras ssh pratique…

[quote=“ziouplaboum”][quote=“Claire.F”]Salut ziouplaboum ! :slightly_smiling:

Oui ta méthode est très interressante pour une utiliser à distance du X forwarding, alors que moi c’est pour une utilisation local, sur la même machine donc, càd lancer sous un utilisateur un programme sous un autre utilisateur… 8)

Tu n’aurais pas une solution ? ou bien peut être je peux experimenter la tienne mais c’est un peu lourd je trouve d’installer un serveur SSH rien que pour cela :astonished:

Qu’en penses tu?

Bye.[/quote]

Salut Claire. Bon en fait ce que je te propose marche aussi en local, rien ne t’empêche depuis claire@monordi de te connecter en ssh -X sur le compte de toto@monordi, si tu ne peux pas le faire c’est que:

  • tu n’as pas de serveur ssh qui tourne sur ta machine?
  • tu n’as pas autorisé le X11Forwarding (éditer /etc/ssh/sshd_config )
  • claire@monordi n’as pas le droit de se connecter en tant que toto sur monordi.

–> installation et/ou configuration de openssh-server, la configuration par défaut devrait suffire, à l’exception de la ligne concernant le X11Forwarding citée dans mon premier poste (un /etc/init.d/ssh reload après modification de la configuration est nécessaire et devrait être suffisant.)

Je ne connais pas d’autre solution, c’est simple et sécurisé, il te faut juste laisser tourner un serveur ssh et à l’usage tu trouveras ssh pratique…[/quote]

Yop ziouplaboum :stuck_out_tongue:

OK c’est une solution alternative, je vais tout de même tester, merci beaucoup :slightly_smiling:

Bye !