Является ли разница между sudo и gksu такой же, как разница между sudo -i и sudo-s?

Разница между sudo cmd и gksu cmd, так же, как разница между запуском оболочки с помощью sudo -i и sudo -s ?

... или иначе,
Является sudo cmd то же самое, что и sudo -i cmd
и gksu cmd то же самое, что и sudo -s cmd?

EDIT: на основании того, что я читал на странице Ubuntu Documentation , где говорится:

You should never use normal sudo to start graphical applications as root.  
You should use gksudo (kdesudo on Kubuntu) to run such programs. gksudo sets  
HOME=~root, and copies .Xauthority to a tmp directory. This prevents files  
in your home directory becoming owned by root.  
(AFAICT, this is all that's special about the environment of the started   
 process with gksudo vs. sudo).

«AFAICT» не дает мне полной уверенности, что в этом нет ничего более.


(.. запоздалое UPDATE : я проверил свое сегодняшнее сообщение (2 месяца спустя) о:
«Это предотвратит использование файлов в вашем домашнем каталоге root».
Все файлы, созданные мной через sudo /gksu, принадлежат « root », а группа была « root ».)


Я читал части info sudo и заметил -i и -s показаться делать то же самое, что и AFAICT проблема среды ...
но я попал в перегрузку .. поэтому я задал свой вопрос здесь.

PS .. Мой вопрос не о sudo vs gksu
Это больше о: gksu совпадает с sudo -s
.. а если нет, то как они отличаются?

26 голосов | спросил Peter.O 7 72010vEurope/Moscow11bEurope/MoscowSun, 07 Nov 2010 00:02:44 +0300 2010, 00:02:44

4 ответа


16

gksu - это в основном графический интерфейс для sudo, который позволяет запускать графическую команду без необходимости запуска эмулятора X-терминала и использования su непосредственно. Это действительно просто GTK + скин для команд суперпользователя.

Итак, если вы хотите запустить программу на основе графического интерфейса с правами пользователя root, вы должны вызвать ее с помощью gksu cmd, а не sudo cmd, который используется для вызова консольных программ как root.

ответил Chris Wilson 7 72010vEurope/Moscow11bEurope/MoscowSun, 07 Nov 2010 00:30:17 +0300 2010, 00:30:17
10

sudo -i сбрасывает среду входа в целевой пользователь ( root , в этом случае). В основном, изменяется переменная среды HOME, что означает ~/.bashrc.

gksu, поэтому, как sudo -i, в который входят $HOME пользователю root .

ответил Kees Cook 7 72010vEurope/Moscow11bEurope/MoscowSun, 07 Nov 2010 09:13:13 +0300 2010, 09:13:13
5

На самом деле это не ответ, но это может быть интересным ...
Я начинаю понимать, что происходит с этими командами su,
но я еще не совсем там ... Я использую gksu ... Это скорее путешествие понимания для меня ... и я не понимаю, если gksu действителен для konsole или kate или must Я использую вариант KDE kdesu ..

Вот некоторые результаты некоторых тестов, которые я только что пробовал.

From user fred's terminal, launch gnome-terminal

su style   resulting            custom   (ls)   new file
command    prompt               prompt   home   ownership
---------  -------------------- -------  -----  ----------
sudo      [email protected]:~#           fred's   fred   root
gksu       [email protected]:/home/fred#  root's   fred   root
sudo -i    [email protected]:~#           root's   root   root
sudo -s   [email protected]:~#           fred's   fred   root

Эти результаты не согласуются с страницей документации Ubuntu , где говорится:

 This prevents files in your home directory becoming owned by root

UPDATE: переменные XAUTHORITY env для вызываемых sudo и gksu Терминалы различны (как указано на странице Ubuntu Documentation Page ).

sudo    #### XAUTHORITY=/var/run/gdm/auth-for-fred-RsngLK/database
sudo -i #### XAUTHORITY=/var/run/gdm/auth-for-fred-RsngLK/database
sudo -s #### XAUTHORITY=/var/run/gdm/auth-for-fred-RsngLK/database
gksu    #### XAUTHORITY=/tmp/libgksu-xR2OGn/.Xauthority   

Это показывает, что gksu определенно не совпадает с sudo -s, о котором я упоминал в вопросе ... и, следовательно, отвечает моему оттиничному вопросу (каким-то еще неясным образом) ... и ответ Криса, безусловно, заставил меня задуматься над этим! Мне нужен кофе!

ответил Peter.O 7 72010vEurope/Moscow11bEurope/MoscowSun, 07 Nov 2010 03:13:39 +0300 2010, 03:13:39
3

sudo для приложений командной строки, gksu /gksudo для графических

ответил karthick87 7 72010vEurope/Moscow11bEurope/MoscowSun, 07 Nov 2010 07:47:23 +0300 2010, 07:47:23

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132