C'est peut-être un fantasme, mais il y a un certain nombre de personnes qui disent la même chose:
Pourquoi devrais-je utiliser gksudo pour les applications Gtk au lieu de sudo?
Il y a d'autres moments, cependant, où les effets secondaires peuvent être aussi légers que les extensions Firefox ne collent pas ou aussi extrêmes que de ne plus pouvoir se connecter car les autorisations sur votre autorité .ICE ont changé.
Pourquoi les utilisateurs ne devraient-ils jamais utiliser sudo normal pour démarrer des applications graphiques?
Supposons que vous exécutez gedit (un éditeur de texte graphique) en tant que root. Si vous exécutez sudo gedit, HOME continuera à pointer vers votre répertoire personnel, même si le programme s'exécute en tant que root. Par conséquent, gedit écrira les fichiers de configuration en tant que root dans votre répertoire personnel. Cela entraînera parfois que les fichiers de configuration appartiennent à root et sont donc inaccessibles pour vous (lorsque vous exécutez le programme en tant que vous-même et non en tant que root).
Comment exécuter un programme GUI en tant qu'utilisateur différent (Debian)?
Tout d'abord, n'utilisez pas sudo ou su pour changer les utilisateurs afin d'exécuter un processus graphique, ou vous risquez d'avoir des problèmes sur la ligne (~ / .ICEauthority changer de propriétaire est un problème notable). À la place, créez un raccourci qui utilise la commande suivante:
Exécution graphique de Sudo
Eh bien, pour être parfaitement honnête, la plupart du temps ce n'est pas le cas. Pour de nombreuses applications, vous pouvez les exécuter de manière incorrecte - en utilisant sudo pour les applications graphiques et ne voyez aucun effet secondaire indésirable.
...
Ces erreurs se produisent car, parfois, lors du sudo
lancement d'une application, celle-ci se lance avec les privilèges root mais utilise le fichier de configuration de l'utilisateur.
Ces archives de courrier peuvent également vous intéresser.
Alors, testons-le.
2 boîtes virtuelles flambant neuves. Ubuntu 14.04. Ne lancez jamais Firefox sur eux. Que se passera-t-il lorsque j'exécuterai la commande sudo firefox
?
tim@Hairy14CVB:~$ sudo firefox
(process:4857): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
...
shutdownObserver@XPIProvider.jsm:2192:13
C'est le même (ou du moins très similaire) pour les deux boîtiers virtuels. Pendant que Firefox était en cours d'exécution, j'ai installé une extension youtube - une extension en vedette. Ensuite, j'ai fermé Firefox et vérifié la sortie.
tim@Hairy14CVB:~$ ls -la .ICEauthority
-rw------- 1 tim tim 1336 Jun 4 21:31 .ICEauthority
Eh bien, .ICEauthority
ça va! Pourtant...
tim@Hairy14CVB:~$ ls -la | grep root
drwxr-xr-x 3 root root 4096 Jun 1 20:49 ..
drwx------ 3 root root 4096 Jun 5 22:41 .dbus
drwx------ 4 root root 4096 Jun 5 22:41 .mozilla
3 choses dans mon dossier personnel ( /home/tim/
) appartiennent à root ( ..
, .dbus
et .mozilla
). C'est le même (ou du moins très similaire) pour les deux boîtiers virtuels.
Alors, est-ce important. Je n'étais pas sûr, alors j'ai lancé Firefox, comme ceci:
tim@Hairy14CVB:~$ firefox
(process:4959): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Error: Access was denied while trying to open files in your profile directory.
Et cette horrible erreur:
Pour la sortie complète du terminal (y compris le babillage firefox), consultez ces deux boîtes à pâte, ici et ici .
Soit dit en passant, je peux toujours exécuter Firefox en tant que root. Mais maintenant, plus de fichiers ont été modifiés:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
drwx------ 3 root root 4096 Jun 5 22:55 .adobe
drwx------ 3 root root 4096 Jun 5 22:40 .dbus
drwx------ 3 root root 4096 Jun 5 22:55 .macromedia
drwx------ 4 root root 4096 Jun 5 22:40 .mozilla
Était-ce parce que j'ai téléchargé une image sur imgur.com? Pas certain.
Comment ai-je résolu ce problème? chown
. Je ne le comprends pas, mais Internet a dit de le faire, et c'est une boîte virtuelle donc yolo.
sudo chown -R tim:tim /home/tim/
Et cela l'a corrigé. Maintenant, la sortie est juste le ..
fichier:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
Et c'est la même chose sur mon ordinateur. Oh, et sur ma virtualbox Kubuntu:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 3 root root 4096 May 16 14:10 ..
Sur lequel je n'ai même jamais exécuté de commande sudo. Tout va bien. Il suffit de ne pas exécuter sudo
sur une application graphique.
Test final: exécutez-le avec -H
les -i
drapeaux et:
sudo -H firefox
et
sudo -i firefox
Et bonne nouvelle! Pourtant, la seule «chose» racine est ..
. Et je peux courir firefox
sans root.
OP veut que je parle de Gedit.
L'Iran
sudo gedit
Puis installé quelques plugins aléatoires. Ce fut la sortie:
tim@Hairy14VB:~$ ls -la | grep root
ls: cannot access .gvfs: Permission denied
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
Notez que je ne peux même pas voir la propriété de .gvfs
donc j'ai fait ceci:
tim@Hairy14VB:~$ sudo ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
dr-x------ 2 root root 0 Jun 6 10:05 .gvfs
Donc, l'exécution sudo gedit
change un fichier dans mon répertoire personnel en root.
Je peux toujours ouvrir gedit, mais cette fois je sors des ordures:
(gedit:7422): Gtk-WARNING **: Attempting to read the recently used resources file at `/home/tim/.local/share/recently-used.xbel', but the parser failed: Failed to open file '/home/tim/.local/share/recently-used.xbel': Permission denied.
Et cela suggère qu'un autre fichier ( ~.local/share/recently-used.xbel
) a été modifié. Je pense que c'est la liste des fichiers récemment utilisés et (chance) je n'ai plus ma liste de fichiers récemment utilisés:
Il devrait y avoir un fichier appelé output2.txt.save2
. Mes pronoms sont He / Him