首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"su“、"sudo -s”、"sudo -i“、"sudo su”之间有什么区别?

"su“、"sudo -s”、"sudo -i“、"sudo su”之间有什么区别?
EN

Ask Ubuntu用户
提问于 2011-10-22 06:11:46
回答 4查看 354.5K关注 0票数 181

我已经从手册上看过了,但我看不出有什么不同。

su -更改用户ID或成为超级用户

代码语言:javascript
复制
sudo -s [command]

-s ( shell )选项运行SHELL环境变量指定的shell (如果设置了它)或passwd(5)中指定的shell。如果指定了命令,则将其传递给shell执行。否则,执行交互式shell。

sudo -i消失的手动描述

EN

回答 4

Ask Ubuntu用户

发布于 2011-10-22 06:28:39

sudo允许您使用根权限在自己的用户帐户中运行命令。su允许您切换用户,以便您实际上是以root身份登录。

sudo -s运行具有根权限的shell。sudo -i还获取根用户的环境。

要了解susudo -s之间的区别,请执行cd ~,然后在它们之后执行pwd。在第一种情况下,您将位于root的主目录中,因为您是root用户。在第二种情况下,您将位于自己的主目录中,因为您拥有根用户特权。

关于这个问题,这里有更多的讨论。

票数 72
EN

Ask Ubuntu用户

发布于 2019-08-12 16:42:04

  • su询问根密码,变成root,打开一个交互式的非登录shell.
  • su -问根密码,变成root,打开一个交互式的登录壳
  • sudo -s问你的密码,变成根,打开一个交互式的非登录外壳。
  • sudo -i询问您的密码,变成root,打开一个交互式登录shell。

最佳实践是使用上述两个命令。

  • sudo su询问你的密码,暂时变成根作为根运行su
  • sudo su -询问你的密码,暂时变成根作为根运行su -

因此,在本例中,您正在使用su运行sudo,您不需要知道root的实际密码。结果与susu -的结果相同。

票数 15
EN

Ask Ubuntu用户

发布于 2011-10-22 19:38:31

su询问用户"root“的密码。

sudo询问您自己的密码(并检查是否允许您以root用户的身份运行命令,这是通过/etc/sudoers配置的--默认情况下,属于"admin“或"sudo”组的所有用户帐户都允许使用sudo)。

sudo -s以根用户身份启动shell,但不会更改工作目录。sudo -i模拟登录到根帐户:您的工作目录将是/root,根的.profile等将在登录时获得。

票数 11
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/70534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档