Re: "sudo gedit" is evil [was: Re: Economiseur d'écran kde sous ubuntu Maverik]

Avell Diroll avelldiroll at gmail.com
Lun 29 Nov 16:19:22 UTC 2010


On 29/11/10 13:44, Gab Aldian wrote:
> Le 28 novembre 2010 16:00, Avell Diroll<avelldiroll at gmail.com>  a écrit :
(snip)
>> http://doc.ubuntu-fr.org/sudo#quand_doit-on_utiliser_sudogksudokdesudo
(snip)
> Pour moi il y a une ambiguité dans cette doc au niveau de la précision qui
> est apportée en note, je cite : "gksudo paramètre le dossier personnel (la
> variable d'environnement $HOME) pour l'application exécutée en mode
> privilégiée à */root* plutôt qu'à */home/<identifiant>* et copie le fichier
> .Xauthority dans un dossier temporaire. Ceci empêche que des fichiers du
> dossier personnel de l'utilisateur changent de propriétaire (et donc
> corrompent la session graphique en cours)."

Cette discussion aurait probablement plus sa place sur la ML du wiki.

> Donc si je comprend bien, si je lance un programme en console depuis une
> session graphique avec sudo, même si ledit programme ne possède pas
> d'interface graphique et s'exécute en console, il y a un risque que mes
> fichiers perso changent de propriétaire. Et de manière corrolaire, si je
> suis en console sans session graphique et que je lance un sudo sur un
> programme, c'est pareil. En quoi le fait de lancer une interface graphique
> implique le risque d'avoir des fichiers qui changent de propriétaire
> davantage que sans interface graphique, vu que de toute manière la commande
> superutilisateur est lancée depuis un espace utilisateur normal? C'était
> sans doute très clair pour la personne qui a documenté le truc, mais soit il
> en a trop dit, soit pas assez.

J'espère être plus clair en disant qu'un logiciel en ligne de commande 
dépend de son shell, et uniquement de son shell.
Un programme graphique va se connecter à un server X et va échanger des 
informations avec d'autres programmes, qui ne sont pas lancé par 
l'utilisateur root. Certains mécanismes d'échange d'information 
inter-process passent par des fichiers spécifiques (.Xauthority, 
.ICEauthority ...). Si un programme lancé avec sudo modifie/recrée l'un 
de ces fichiers celui ci appartient alors à root et est rendu 
inutilisable pour tous les autres programmes. Un .Xauthority en root 
empêchera la session graphique de l'utilisateur de se lancer, un 
.ICEauthority en root empêchera certaines applications de se lancer ou 
d'accéder à certaines fonctionnalités dans d'autres. Un "sudo gedit" ne 
va pas modifier ces fichiers à chaque fois, mais ça arrive très 
fréquemment ... c'est vite arrivé, une minimisation, un copié collé, 
etc, ...
L'utilisation de gksudo évite ces problèmes en préservant les droits de 
ces fichiers.

Bonne continuation

Ju
-- 
Écrasez l'infâme !
    --Voltaire




Plus d'informations sur la liste de diffusion ubuntu-fr