su 和 bash 的区别

su 和 bash 的区别

当我访问网络服务器时,我使用命令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。

相关内容