Un exemple :
L'utilisateur firefox est un utilisateur avec des droits très très restreints (pour commencer, son shell est /bin/false).
On va dire que l'utilisateur firefox représente le programme xpdf (initiallement, c'était pour firefox.bin mais là ça ne marcherait pas) :
tarsonis:~# chown firefox /usr/bin/xpdf.bin
tarsonis:~# chmod +s /usr/bin/xpdf.bin
tarsonis:~# ls -l /usr/bin/xpdf.bin
-rwsr-sr-x 1 firefox root 1211828 sep 13 2008 /usr/bin/xpdf.bin
Allez, on va donner le droit à firefox de parler avec le serveur X :
chris@tarsonis:~% xhost +firefox@localhost
firefox@localhost being added to access control list
Bien, maintenant on lance xpdf et on regarde ce qui se passe :
chris@tarsonis:~% xpdf.bin &!
chris@tarsonis:~% ps aux | grep xpdf.bin
firefox 12130 0.0 0.2 8860 4148 pts/3 SN 12:33 0:00 xpdf.bin
chris 12133 0.0 0.0 3068 828 pts/3 S+ 12:34 0:00 grep xpdf.bin
Là, si j'accédais à mon répertoire Personnel avec mes données confidentielles :
Error: Couldn't open file '/home/chris/Personnel/'
Voilà. 