Pet*_*r.O 28 command-line sudo gksu
sudo cmd
and之间的区别,和
用and启动 shellgksu cmd
的区别一样吗? sudo -i
sudo -s
... 或者换一种说法,
是sudo cmd
一样sudo -i cmd
和gksu cmd
一样sudo -s cmd
吗?
编辑:根据我在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).
Run Code Online (Sandbox Code Playgroud)
该“AFAICT” doen't真的给了我充分的信心,没有什么更多的东西。
(..一个迟来的更新:我今天(2 个月后)测试了他的评论:
“这可以防止你的主目录中的文件被 root 拥有。”
我通过 sudo/gksu 创建的所有文件都归“ root ”所有,并且该组是“根”。)
我已经阅读了部分内容info sudo
并注意到-i
并且-s
似乎正在做与AFAICT环境问题相同的事情......
但我遇到了过载......所以我在这里问了我的问题。
PS .. 我的问题不是关于 sudo与gksu
.. 它更多的是关于:gksu是否与sudo -s
..相同,如果不是,它们有什么不同?
小智 18
gksu
基本上是 sudo 的图形前端,它允许运行图形命令而无需运行 X 终端模拟器并直接使用 su。它实际上只是超级用户命令的 GTK+ 皮肤。
因此,如果您想以 root 身份运行基于 GUI 的程序,您可以使用gksu cmd
, 而不是来调用它sudo cmd
,后者用于以 root 身份调用控制台程序。
Kee*_*ook 10
sudo -i
将登录环境重置为目标用户(在本例中为root)。主要是HOME
环境变量改变了,也就是目标用户的~/.bashrc
加载了。
gksu
因此,就像sudo -i
切换$HOME
到root用户一样。
这不是一个真正的答案,但它可能会引起一些兴趣......
我开始了解这些 su 命令的情况,
但我还没有完全了解......我确实使用gksu
. .. 这对我来说更像是一次理解之旅......我不知道是否gksu
对konsole
或有效kate
,或者我必须使用 KDE 变体kdesu
..
这是我刚刚尝试过的一些测试的一些结果。
From user fred's terminal, launch gnome-terminal
su style resulting custom (ls) new file
command prompt prompt home ownership
--------- -------------------- ------- ----- ----------
sudo .root@DT:~# fred's fred root
gksu root@DT:/home/fred# root's fred root
sudo -i root@DT:~# root's root root
sudo -s .root@DT:~# fred's fred root
Run Code Online (Sandbox Code Playgroud)
这些结果与Ubuntu 文档页面不一致,它说:
This prevents files in your home directory becoming owned by root
Run Code Online (Sandbox Code Playgroud)
更新:sudo和gksu调用终端的 XAUTHORITYenv
变量不同(如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
Run Code Online (Sandbox Code Playgroud)
这表明这gksu
绝对与sudo -s
我在问题中提到的命令不同......因此回答了我最初的问题(以某种仍然模糊的方式)......克里斯的回答肯定让我认真思考这个问题!......我需要一杯咖啡!!
归档时间: |
|
查看次数: |
25073 次 |
最近记录: |