当我访问网络服务器时,我使用命令sudo su
获取管理员权限。最近我发现这sudo bash
是正确的命令,它将允许我获得那些su
没有的权限。
sudo su
和有什么区别sudo bash
?我以为两者是等价的。
答案1
执行此操作后,sudo su
您将启动 root 用户的默认 shell,该 shell 可能是 Bourne shell (sh)。您可以执行此操作sudo -s
来获取当前用户的默认 shell。
答案2
之后你会怀念哪些特权
sudo su
? 可能是你没有在执行此命令后设置 root 的环境。如果你
sudo su -
(请注意“-”),然后将读取 root 用户的配置文件,并设置环境(除其他内容外,PATH 变量)就像您以 root 身份登录一样。如果您运行
sudo su
,您将保留您的环境并获得有效 uid 0,这意味着您拥有 root 用户的权限,而无需设置 root 环境。sudo su -
将当前目录更改为 root 的主目录,因此如果我想在当前目录中执行几个命令(例如更改文件的所有者),而不必输入长路径,我会使用 sudo su。