ter*_*don 86 shell su sudo environment-variables
要在禁用 root 帐户的计算机上启动 root shell,您可以运行以下命令之一:
sudo -i: 运行交互式登录 shell(读取/root/.bashrc和/root/.profile)sudo -s: 运行一个非登录的交互式 shell(读取/root/.bashrc)在 Ubuntu 世界中,我经常看到sudo su建议是获取 root shell 的一种方式。为什么要运行两个单独的命令呢?据我所知,sudo -i等效于sudo su -并且sudo -s与sudo su.
唯一的区别似乎是(比较sudo -i左侧和sudo su -右侧):
并比较sudo -s(左)和sudo su(右):
主要区别(忽略SUDO_foo变量 和LS_COLORS)似乎是版本中的XDG_foo系统变量sudo su。
是否有任何情况下这种差异需要使用相当不雅的sudo su?我可以安全地告诉人们(就像我经常这样)跑步没有任何意义sudo su还是我错过了什么?
cha*_*aos 70
正如您在问题中所述,主要区别在于环境。
sudo su - 对比 sudo -i如果sudo su -它是一个登录 shell,那么/etc/profile,.profile和.bashrc被执行,你会发现自己在 root 的主目录中,并且有 root 的环境。
sudo -i是几乎相同sudo su -的-i(模拟初始登录)选项运行由目标用户的密码数据库条目作为登录shell指定的壳。这意味着特定于登录名的资源文件,例如.profile,.bashrc或.login将由 shell 读取和执行。
sudo su 对比 sudo -ssudo susudo用命令调用su。Bash 被称为交互式非登录 shell。所以bash只执行.bashrc. 可以看到切换到root后你还在同一个目录下:
user@host:~$ sudo su
root@host:/home/user#
Run Code Online (Sandbox Code Playgroud)
sudo -s读取$SHELL变量并执行内容。如果$SHELL包含/bin/bash它调用sudo /bin/bash,这意味着它/bin/bash是作为非登录shell启动的,所以所有的点文件都不会被执行,但bash它本身会读取 . bashrc主叫用户的。您的环境保持不变。你的家不会是root的家。所以你是 root,但在调用用户的环境中。
该-i标志sudo于2004年添加到,以提供与 类似的功能sudo su -,sudo su -模板也是如此,sudo -i并且旨在像它一样工作。我认为使用哪个并不重要,除非环境不重要。
这里必须提到的一个基本点是,它sudo被设计为仅运行一个具有更高权限的命令,然后将这些权限降为原始权限。从来没有打算真正切换用户并保持打开 root shell。随着时间的推移,sudo被扩展了这样的机制,因为人们对为什么要sudo在每个命令前面使用感到恼火。
所以 的意思sudo被滥用了。sudo旨在鼓励用户尽量减少使用 root 权限。
我们现在拥有的是sudo变得越来越流行。它几乎集成在每个著名的 linux 发行版中。切换到另一个用户帐户的原始工具是su. 对于一个老派 *nix 老手来说,这样的事情sudo似乎没有必要。它增加了复杂性,并且更可能与我们从 Microsoft 的操作系统系列中知道的机制相比,因此与 *nix 系统的简单哲学背道而驰。
我不是一个真正的老手,但在我看来sudo,它一直是我的眼中钉,从被介绍的时候开始sudo,如果可能的话,我一直在研究 的用法。我最不愿意用了sudo。在我的所有系统上,都启用了 root 帐户。但事情会发生变化,也许时间会到来,什么时候su会被弃用并完全sudo取代su。
因此我认为,最好使用sudo的内部机制 ( -s, -i) 而不是依赖诸如su.
use*_*445 19
直接回答您的问题:不,没有充分的理由这样做。此外, sudo su 会在足够的情况下生成两个日志条目。
我见过很多人这样做,当我问他们为什么不直接运行时sudo -s,答案只是他们不知道-ssudo的标志,通常他们在我指出后切换。
但是,在您的sudo -s和列表中sudo -i,我想再添加一个选项sudo -sE,它是su -m. sudo -sE保留您的环境,包括主目录。如果您的主目录不安全(在 NFS 上),这会带来风险。但是在许多人使用 root 的环境中,它使您不必就根.bashrc文件的内容达成一致。我的.bashrc包含许多 root 的专业化,所以我没有得到与 root 完全相同的环境,但至少我得到了我想要的环境。
| 归档时间: |
|
| 查看次数: |
22487 次 |
| 最近记录: |