| ||||||||
Astucien ![]() | Bonne journée, ayant quelques ordinateurs en réseaux câblés et/ou sans fil, il m'arrive de vouloir voir un utilisateur distant afficher un programme graphique sur l'écran que j'utilise. Notez que chaque ordinateur Linux est déjà configuré pour les échanges réseaux, point d'accès sans fil, serveur dhcp, pare-feu Iptables, partage de connexion Internet par Nat, serveur Ssh, etc. Pour commencer, je me connecte en utilisateur non root au système local dans un terminal virtuel en mode caractères avec invite de connexion. J'enlève ensuite une option de sécurité à Xorg que j'ai placé dans le fichier ~/.xserverrc et qui lui interdit d'être à l'écoute des requêtes TPC/IP exec /usr/bin/X -logverbose 3 -nolisten tcp -verbose 0 vt05 devient exec /usr/bin/X -logverbose 3 -verbose 0 vt05 L'option -nolisten tcp étant retirée, Xorg sera dorénavant à l'écoute des requêtes TPC/IP lorsque j'aurai démarré ma session X via la commande startx. À noter que l'option vt05 ne doit être utilisée que si vous n'avez comme moi que les quatre premiers terminaux virtuels configurés avec invites de connexions. Par défaut c'est vt07 pour le septième terminal virtuel. Voir le man Xorg pour comprendre les options disponibles. Arrivé sur mon bureau, l'utilisateur en cours de session X doit encore permettre l'accès à l'affichage graphique à un ou d'autres utilisateurs. La commande xhost + permet à tous, utilisateurs locaux et distants d'accéder à la session graphique de l'utilisateur en cours de session X. Plus restrictif est xhost +local: ce qui limite l'accès à la session graphique de l'utilisateur en cours de session X aux seuls utilisateurs de la machine locale. On peut alternativement y aller au cas par cas, par ememple xhost - pour ne permettre qu'aux utilisateurs explicitement ajoutés l'accès à la session graphique de l'utilisateur en cours de session X. On ajoute en suite les machines distantes et utilisateurs voulus. Dans mon cas, je fais xhost + xxx.xxx.xxx.xxx pour permettre aux utilisateurs d'une machine distante donnée la connexion à la session Xorg de l'utilisateur local. Voir le man xhost . Maintenant, il me reste à ouvrir une session ssh d'un utilisateur distant dans un terminal graphique local ssh utilisateur@xxx.xxx.xxx.xxx Ayant ouvert une session ssh non graphique à un utilisateur distant sur ma machine locale, je peux utiliser l'affichage local comme sortie des programmes graphiques de cet utilisateur distant. Exemple DISPLAY=yyy.yyy.yyy.yyy:0.0 firefox L'affichage du programme Firefox de l'utilisateur distant apparaît sur ma machine locale dont l'adresse IP est yyy.yyy.yyy.yyy . L'utilisateur distant n'a pas accès à son propre bureau mais à celui de l'utilisateur local. Voilà une méthode pour utiliser X en réseau. Il y à sûrement plus à apprendre sur le sujet. Je me suis rendu compte que lorsque j'enlève l'option -nolisten tcp à Xorg et que j'exécute la commande xhost lors d'une session graphique, une adresse IP de mon fournisseur Internet est dans la liste d'accès à l'affichage graphique de l'utilisateur. Je n'ai pas moi-même permit explicitement cet accès. Par mesure de sécurité, j'ai remis l'option -nolisten tcp à Xorg et par défaut, aucun autre utilisateur n'a accès à la session graphique que l'utilisateur qui a ouvert cette session. C'est plus sûr que d'avoir à vérifier la liste des utilisateurs qui ont accès à X à chaque session graphique que je lance. Pour celles et ceux qui se servent d'un gestionnaire d'affichage, Xdm, Gdm, Kdm, Slim, voir Entrance pour ouvrir une session graphique, je devrez vous assurer que ce dernier utilise Xorg sans qu'il soit à l'écoute du réseau TCP/IP si vous voulez augmenter la sécurité de l'affichage graphique. Vous pouvez utiliser les commandes ps, top et htop pour voir les options actuelles qu'X utilise lors de votre session graphique.
Modifié par Logicien le 12/11/2012 15:50 | |||||||
Publicité | ||||||||
| ||||||||
Petit astucien ![]() | Intéressant merci | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|