Разница между sudo cmd и gksu cmd, такая же, как разница между запуском оболочки с sudo -i и sudo -s?
... или иначе, Является ли sudo cmd таким же, как sudo -i cmd и gksu cmd так же, как sudo -s cmd?
EDIT: Основываясь на том, что я читал на странице документации Ubuntu, где говорится:
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» действительно не дает мне полной уверенности, что в этом нет ничего более.
(.. запоздалый «AFAICT» : Я проверил свое сегодняшнее сообщение (2 месяца спустя) о: " Это предотвращает доступ к файлам в вашем домашнем каталоге root. «Все файлы, созданные мной через sudo / gksu, принадлежали« root », а группа была« root ».)
Я читал части info sudo и заметил, что корень -i и -s выполняет то же самое, что и проблема среды AFAICT ... но я попал в перегрузку .. поэтому я задал свой вопрос здесь.
PS .. Мой вопрос не о AFAICT vs root .. Это больше о: gksu так же, как sudo -s .. и если нет, то как они отличаются?
На самом деле это не ответ, но это может быть интересно ... Я начинаю понимать, что происходит с этими командами su, но я еще не совсем там ... I используйте gksu
... Это скорее путешествие понимания для меня ... и я не понимаю, если gksu
справедливо для konsole
или kate
, или я должен использовать вариант KDE kdesu
..
Вот некоторые результаты некоторых тестов, которые я только что пробовал.
От терминала пользователя fred, запускает gnome-terminal su, в результате чего пользовательский (ls) новый файл командной строки приглашает домой владение --------- -------- ------------ ------- ----- ---------- sudo .root @ DT: ~ # fred fred root gksu root @ DT: / home / fred # root's fred root sudo -i root @ DT: ~ # root root root sudo -s .root @ DT: ~ # fred fred root
Эти результаты не согласуются с страницей документации Ubuntu , где говорится:
Это предотвращает доступ к файлам в вашем домашнем каталоге root
UPDATE : Переменные XAUTHORITY env
для вызываемых sudo и gksu терминалов различны (как указано на странице документации Ubuntu ) ..
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
, о которой я упоминал в вопросе ... и, следовательно, отвечает на мой отлогический вопрос (каким-то еще неясным образом) ... и ответ Криса, конечно, заставил меня задуматься над этим! ... Мне нужен кофе !!
sudo для приложений командной строки, gksu / gksudo для графических
sudo -i
сбрасывает среду входа для целевого пользователя ( root , в этом случае). В основном, изменяется переменная среды HOME
, что означает загрузку ~ / .bashrc
целевого пользователя.
gksu [ ! d3], следовательно, подобно
sudo -i
, в котором находятся ключи $ HOME
для пользователя root .
sudo для приложений командной строки, gksu / gksudo для графических
gksu
работает из временной копии XAUTHORITY. Я не совсем понимаю, почему XAUTHORITY нужно обрабатывать специально, но это важная вещь, которая отличает ее поведение от sudo
– Peter.O
7 November 2010 в 10:42
sudo -i
сбрасывает среду входа для целевого пользователя ( root , в этом случае). В основном, изменяется переменная среды HOME
, что означает загрузку ~ / .bashrc
целевого пользователя.
gksu [ ! d3], следовательно, подобно
sudo -i
, в котором находятся ключи $ HOME
для пользователя root .
sudo
, о которых я говорил ... и осознание этого было для меня Aha! моментом ... Результат: использовать gksu для GUI Программы! .. но я остался с еще одним неразрешенным quandry ... Использует ли gksu только к приложениям GTK , или , это прекрасно подходит для использования gksu при запуске приложения KDE GUI?
– Peter.O
7 November 2010 в 10:53
На самом деле это не ответ, но это может быть интересно ... Я начинаю понимать, что происходит с этими командами su, но я еще не совсем там ... I используйте gksu
... Это скорее путешествие понимания для меня ... и я не понимаю, если gksu
справедливо для konsole
или kate
, или я должен использовать вариант KDE kdesu
..
Вот некоторые результаты некоторых тестов, которые я только что пробовал.
От терминала пользователя fred, запускает gnome-terminal su, в результате чего пользовательский (ls) новый файл командной строки приглашает домой владение --------- -------- ------------ ------- ----- ---------- sudo .root @ DT: ~ # fred fred root gksu root @ DT: / home / fred # root's fred root sudo -i root @ DT: ~ # root root root sudo -s .root @ DT: ~ # fred fred root
Эти результаты не согласуются с страницей документации Ubuntu , где говорится:
Это предотвращает доступ к файлам в вашем домашнем каталоге root
UPDATE : Переменные XAUTHORITY env
для вызываемых sudo и gksu терминалов различны (как указано на странице документации Ubuntu ) ..
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
, о которой я упоминал в вопросе ... и, следовательно, отвечает на мой отлогический вопрос (каким-то еще неясным образом) ... и ответ Криса, конечно, заставил меня задуматься над этим! ... Мне нужен кофе !!