su -X
Maintenant sur http://linux-attitude.fr/post/su-X
Niveau:

Résumé: su - ; xclock
Êtes vous utilisateurs de su ? Si oui, il vous est sûrement déjà arrivé de vouloir lancer une application graphique une fois passé root et vous dire que mince ça ne marche pas. C'est un des gros avantage que les utilisateurs de sudo apprécient.
Petite parenthèse sur sudo pour ceux qui en ont marre de taper sudo à chaque commande. Il existe sudo -s qui permet de faire en sorte que toutes les prochaines commandes soient tapées comme paramètre à sudo.
Revenons à notre su et présentons deux premières méthodes un peu bricolo.
Méthode 1 : on passe par la pile ip
Méthode 2 : on ouvre un tunnel vers soi même
Avouez qu'on peut mieux faire. Pour cela, il faut comprendre le mécanisme d'autorisation de X. X11, ou xorg, utilise un système de cookies pour savoir qui a le droit d'utiliser le serveur. Celui qui a le cookie a le pouvoir. La commande xauth permet de manipuler ces cookies, nous avançons vers la bonne méthode.
Méthode 3 : on autorise root à se connecter directement
Notez que le couple list/add peut être remplacé par extract/merge ou nextract/nmerge.
Nous avons bien avancé, mais cela reste un peu lourd à utiliser. Heureusement, il existe un outil qui fait tout ceci à notre place, il s'agit de pam_xauth. Il se configure dans /etc/pam.d/su (il est peu intéressant de l'utiliser ailleurs). Ajoutez simplement la ligne suivante
Ce qui nous donne
Méthode 4 : on laisse faire le système
Niveau:
Résumé: su - ; xclock
Êtes vous utilisateurs de su ? Si oui, il vous est sûrement déjà arrivé de vouloir lancer une application graphique une fois passé root et vous dire que mince ça ne marche pas. C'est un des gros avantage que les utilisateurs de sudo apprécient.
Petite parenthèse sur sudo pour ceux qui en ont marre de taper sudo à chaque commande. Il existe sudo -s qui permet de faire en sorte que toutes les prochaines commandes soient tapées comme paramètre à sudo.
Revenons à notre su et présentons deux premières méthodes un peu bricolo.
Méthode 1 : on passe par la pile ip
$ xhost +localhost
$ su -
$ export DISPLAY=localhost:0
$ xclock
$ su -
$ export DISPLAY=localhost:0
$ xclock
Méthode 2 : on ouvre un tunnel vers soi même
$ ssh root@localhost
$ xclock
$ xclock
Avouez qu'on peut mieux faire. Pour cela, il faut comprendre le mécanisme d'autorisation de X. X11, ou xorg, utilise un système de cookies pour savoir qui a le droit d'utiliser le serveur. Celui qui a le cookie a le pouvoir. La commande xauth permet de manipuler ces cookies, nous avançons vers la bonne méthode.
Méthode 3 : on autorise root à se connecter directement
$ xauth list $DISPLAY
toto/unix:0 MIT-MAGIC-COOKIE-1 1f9a10e88f290764fa3d72791fe60643
$ su -
$ export DISPLAY=:0
$ xauth add toto/unix:0 MIT-MAGIC-COOKIE-1 1f9a10e88f290764fa3d72791fe60643
$ xclock
toto/unix:0 MIT-MAGIC-COOKIE-1 1f9a10e88f290764fa3d72791fe60643
$ su -
$ export DISPLAY=:0
$ xauth add toto/unix:0 MIT-MAGIC-COOKIE-1 1f9a10e88f290764fa3d72791fe60643
$ xclock
Notez que le couple list/add peut être remplacé par extract/merge ou nextract/nmerge.
Nous avons bien avancé, mais cela reste un peu lourd à utiliser. Heureusement, il existe un outil qui fait tout ceci à notre place, il s'agit de pam_xauth. Il se configure dans /etc/pam.d/su (il est peu intéressant de l'utiliser ailleurs). Ajoutez simplement la ligne suivante
# support xauth pour les applis X
session optional pam_xauth.so
session optional pam_xauth.so
Ce qui nous donne
Méthode 4 : on laisse faire le système
$ su -
$ xclock
$ xclock
Publicité