sudo -s 和 sudo su - 的区别

Kiw*_*iwy 6 shell root su sudo

它可能是重复的,我很确定我已经在某处看到了这个答案,但我想知道在权利和变量以及其他东西之间有什么区别 sudo -ssudo su -

就我而言,它们都打开了一个 root shell,在那里我可以做任何我想做的事情,但我想知道有一天我是否会体验到一些差异。

同样在askUbuntu这个问题并没有解决我的顾虑。

cha*_*aos 6

须藤 -s

读取$SHELL变量并执行内容。如果$SHELL包含/bin/bash它调用sudo /bin/bash. 因此,/bin/bash作为非登录 shell 启动,因此不会执行所有点文件,但 bash 本身会读取.bashrc调用用户。您的环境保持不变。你的家不会是root的家。所以你是 root,但在调用用户的环境中。

须藤 -

su -由 调用sudo。与sudo su(去掉破折号)不同,shell 被称为登录 shell,因此/etc/profile.profile.bashrc被执行,您会发现自己位于 root 的主目录和 root 的环境中。

资料来源: