Какие конкретные плохие вещи случаются, когда gedit используется с sudo?

Я прочитал этот ответ , объяснив, что «иногда» root может иметь что-то в каталоге /home/$USER.

Может ли кто-нибудь привести пример, как это доказать. Просто приведите тестовый случай, когда происходит что-то действительно плохое, когда я запускаю

sudo gedit /etc/rc.local

, редактирую файл и сохраняю.

Я получил много отрицательных отзывов , пытаясь помочь OP , и комментарии затопили, сказав, что гедить с sudo - преступление.

Кто-нибудь может привести реальный пример?

Я четко объяснил, почему этот вопрос не является дубликатом. Нет конкретного ответа для gedit на связанный вопрос.

И важно объяснить, почему широко используемый sudo gedit вреден или не очень, и т. Д.

10
задан 11 September 2017 в 21:31

2 ответа

До sudo gedit, ничто страшное, просто плохая практика, тем более, что в последнее время. Сколько тяжелее это должно было бы предложить sudo -H gedit?

-H, --set-home Запрос, что политика безопасности установила переменную Домашней среды на корневой каталог, определенный записью базы данных пароля целевого пользователя. В зависимости от политики это может быть поведением по умолчанию.

, Что делает , происходят?

Вы получаете несколько корневых файлов в своей домашней папке. Один (recently-used.xbel), вероятно, возвратится к пользовательскому владению. Это может произойти, когда файл удален и воссоздан. Видеть, что sudo gedit изменил, выполняло find ~ -user root -group root и видит то, что возвращается. По умолчанию это, должно быть ничто.

С той командой, можно видеть пару файлов, принадлежавших корню. Можно было бы быть новым .file, .gvfs, и рано или поздно корневое ~/.cache/dconf и вышеупомянутое recently-used.xbel.

Так не 'небо приводит к сбою' материал, но все еще. Теперь были отчеты, которые продолжались, использование вызывает другие проблемы, но не собирающийся требовать того, что я не вижу здесь.

Также примечание, что с 13,10 sudo gedit будет использовать конфигурацию gedit пользователя, а не конфигурацию gedit корня. Снова просто плохая практика итак, почему продолжают делать так или предлагать других, делает так?

0
ответ дан 11 September 2017 в 21:31

Хорошо, возможно, это - фантазия, но существует много людей, говорящих то же самое:

  • Почему я должен использовать gksudo для приложений Gtk вместо sudo?

    Существуют другие времена, тем не менее, когда побочные эффекты могут быть столь же умеренными как расширения Firefox, не придерживающиеся или как экстремальное значение как как не бывший способный больше входить в систему потому что полномочия на Вашем измененном.ICEauthority.

  • Почему пользователи никогда не должны использовать нормальный sudo для запущения графических приложений?

    Предположим, что Вы выполняете gedit (графический текстовый редактор) как корень. Если Вы выполните sudo gedit, то ДОМОЙ продолжит указывать на Ваш корневой каталог, даже при том, что программа работает как корень. Следовательно, gedit запишет конфигурационные файлы как корень в Ваш корневой каталог. Это будет иногда приводить к конфигурационным файлам, принадлежавшим корню и таким образом недоступный Вам (когда Вы позже запустите программу как сами и не как корень).

  • Как запустить программу GUI как другой пользователь (Debian)?

    Прежде всего не используйте sudo или su для изменения пользователей для выполнения графического процесса, или Вы склонны иметь проблемы по линии (~/.ICEauthority, изменяющийся владелец является известной проблемой). Вместо этого создайте ярлык, который использует следующую команду:

  • Выполнение Sudo графически

    Ну, чтобы быть совершенно честным, большую часть времени это не. Для большого количества приложений можно выполнить их неподходящий путь — использующий sudo для графических приложений и не видеть неблагоприятные побочные эффекты.

    ...

    Эти ошибки происходят потому что иногда когда sudo запускает приложение, оно запускается с полномочиями пользователя root, но использует конфигурационный файл пользователя.

    Этот почтовый архив может также представлять интерес для Вас.

Так, давайте протестируем его.

2 совершенно новых виртуальных поля. Ubuntu 14.04. Никогда не запускайте Firefox на них. Что произойдет, когда я выполню команду 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

Это - то же (или по крайней мере очень похожий) для обоих виртуальных полей. В то время как Firefox работал, я установил расширение YouTube - известное. Затем я закрыл Firefox и проверил вывод.

tim@Hairy14CVB:~$ ls -la .ICEauthority 
-rw------- 1 tim tim 1336 Jun  4 21:31 .ICEauthority

Ну, .ICEauthority прекрасен! Однако...

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 вещи в моей домашней папке (/home/tim/) принадлежат корню (.., .dbus и .mozilla). Это - то же (или по крайней мере очень похожий) для обоих виртуальных полей.

Так, делает этот вопрос. Я не был уверен, таким образом, я запустил Firefox, как это:

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.

И эта ужасная ошибка:

enter image description here

Для полного терминального вывода (включая лепет Firefox), посмотрите эти два pastebins, здесь и здесь.

Я могу все еще запустить Firefox как корень между прочим. Но теперь больше файлов было изменено:

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

Это было то, потому что я загрузил изображение на imgur.com?Не уверен.

Как я фиксировал это? chown. Я не понимаю это, но Интернет, который, как сказали, сделал это, и это - Виртуальное Поле так yolo.

sudo chown -R tim:tim /home/tim/

И это зафиксировало его. Теперь вывод просто .. файл:

tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x  4 root root  4096 Jun  3 19:46 ..

И это - то же на моем фактическом компьютере. О, и на моем Kubuntu virtualbox:

tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x  3 root root  4096 May 16 14:10 ..

Который я даже не работал на команде sudo. Таким образом, все хорошо. Просто не работайте sudo на приложении GUI.

Завершающее испытание: выполните его с -H и -i флаги:

sudo -H firefox

и

sudo -i firefox

И хорошие новости! Однако, единственная корневая "вещь" ... И я могу работать firefox без корня.


OP хочет, чтобы я говорил о Gedit.

Я работал

sudo gedit

Затем установленный некоторые случайные плагины. Это было выводом:

tim@Hairy14VB:~$ ls -la | grep root
ls: cannot access .gvfs: Permission denied
drwxr-xr-x  4 root root   4096 Jun  3 19:46 ..

Обратите внимание, что я не могу даже просмотреть владение .gvfs таким образом, я сделал это:

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

Так выполнение sudo gedit действительно изменяет файл в моем корневом каталоге для укоренения.

Я могу все еще открыть gedit, но на этот раз я вывожу немного мусора:

(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.

И это предполагает, что существует другой файл (~.local/share/recently-used.xbel) это было изменено. Я думаю, что это - Недавно используемый список файлов, и (удачное предположение) у меня теперь больше нет своего списка недавно используемых файлов:

Должен быть файл, там звонил output2.txt.save2. Мои местоимения - Он / Его

12
ответ дан 11 September 2017 в 21:31

Другие вопросы по тегам:

Похожие вопросы: