Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Debian GNU/Linux Reference Guide
Prev Home Next

9.4.12 Devenir root sous X

Si une application graphique a besoin d'�tre lanc�e avec les privil�ges de root, utilisez les proc�dures suivantes pour le faire � partir du serveur X d'un utilisateur. N'essayez jamais de d�marrer un serveur X depuis le compte root, pour vous garder d'�ventuels risques de s�curit�.

D�marrez le serveur X avec un utilisateur normal et ouvrez un xterm. Ensuite :

     $ XAUTHORITY=$HOME/.Xauthority
     $ export XAUTHORITY
     $ su root
     Password:*****
     # printtool &

Lorsque vous utilisez cette astuce pour effectuer un su vers un utilisateur non root, faites attention � ce que le fichier ~/.Xauthority soit lisible par le groupe de cet utilisateur.

Cette s�quence de commandes peut �tre automatis�e en cr�ant un fichier ~/.xsession sur le compte de l'utilisateur, avec les lignes suivantes :

     # Cela permet que X marche quand je fais un su pour devenir root
     if [ -z "$XAUTHORITY" ]; then
         XAUTHORITY=$HOME/.Xauthority
         export XAUTHORITY
     fi
     unset XSTARTUP
     # Si vous d�sirez un gestionnaire de fen�tres/session particulier,
     # d�commentez les lignes suivantes et �ditez-les
     #XSTARTUP=/usr/bin/blackbox
     # D�marre le programme de gestion de fen�tres/session
     if [ -z "$XSTARTUP" ]; then
       if [ -x /usr/bin/x-session-manager ]; then
         XSTARTUP=x-session-manager
       elif [ -x /usr/bin/x-window-manager ]; then
         XSTARTUP=x-window-manager
       elif [ -x /usr/bin/x-terminal-emulator ]; then
         XSTARTUP=x-terminal-emulator
       fi
     fi
     # ex�cute le gestionnaire de fen�tres/session s�lectionn�
     exec $XSTARTUP

Ensuite, ex�cutez su (pas su -) dans une fen�tre xterm de l'utilisateur. Maintenant vous pouvez ex�cuter des applications graphiques avec les privil�ges de root sur l'�cran X d'un utilisateur normal. Cette astuce fonctionne tant que le Xsession par d�faut est utilis�. Si un utilisateur personnalise ~/.xinit ou ~/.xsession, la variable d'environnement XAUTHORITY mentionn�e ci-dessus doit �tre positionn�e de la m�me fa�on dans ces scripts.

Une autre m�thode est d'utiliser le paquet sudo :

     $ sudo xterm
     ... ou
     $ sudo -H -s

Ici le fichier /root/.bashrc doit contenir :

     if [ $SUDO_USER ]; then
         sudo -H -u $SUDO_USER xauth extract - $DISPLAY | xauth merge -
     fi

Cela marche bien m�me si le r�pertoire home de l'utilisateur est sur une partition NFS, puisque root ne lit pas le fichier .Xauthority.

Il existe aussi des paquets sp�cialis�s dans ce but : kdesu, gksu, gksudo, gnome-sudo, et xsu. Enfin, trois autres m�thodes peuvent �tre utilis�es pour atteindre des r�sultats similaires : cr�er un lien symbolique depuis /root/.Xauthority vers celui de l'utilisateur ; utiliser le script \|[quot ]\|sux\|[quot ]\| ; ou mettre xauth merge ~USER_RUNNING_X/.Xauthority dans le script d'initialisation de root.

Plus d'informations sur la liste de diffusion debian-devel.


Debian GNU/Linux Reference Guide
Prev Home Next

 
 
  Published under the terms of the GNU General Public License Design by Interspire