Answers:
背景
在Linux(通常是Unix)中,有一个名为Root的超级用户。超级用户可以做任何事情,并且做任何事情,因此作为超级用户进行日常工作可能很危险。您可能会错误输入命令并破坏系统。理想情况下,您以仅拥有手头任务所需特权的用户身份运行。在某些情况下,这一定是Root,但大多数情况下是普通用户。
su-
此命令用于以root帐户登录。
默认情况下,root帐户密码在Ubuntu中是锁定的。这意味着您不能直接以Root身份登录,也不能使用su命令成为Root用户。但是,由于Root帐户实际存在,因此仍然可以使用root级权限运行程序。这是sudo的用处-它允许授权用户(通常是“管理”用户)以root身份运行某些程序,而无需知道root密码。
请参阅如何启用根帐户。
须藤
该命令以超级用户身份运行“ sh”。
sh实用程序是命令语言解释器,它将执行从命令行字符串,标准输入或指定文件读取的命令。
须藤bash
此命令以超级用户身份运行“ bash”。
Bash是外壳程序或命令语言解释器。Bash是sh兼容的shell,它融合了Korn shell(ksh)和C shell(csh)的有用功能。它旨在符合IEEE POSIX P1003.2 / ISO 9945.2 Shell and Tools标准。它在sh上提供了功能上的改进,可用于编程和交互使用。另外,大多数sh脚本可以由Bash运行,而无需修改。
su -
:
这将更改您的用户标识符并继承环境变量,就像您使用该用户登录一样。通常,您将使用该格式su - <userid>
以用户身份登录。如果删除“ userid”,则表示您正在尝试以root用户身份登录-不能(除非您更改root密码)。
sudo bash
&sudo sh
:
sudo之后的任何东西都是要运行的程序-因此,在这些情况下,您要求运行几个shell-分别是bash和dash。请使用man bash
和man sh
有关不同Shell的更多详细信息。
相关问题:
sudo -i
将为您提供一个登录shell su -
。
sudo su -
而无需超级用户密码而以超级用户身份登录。由于sudosu -
具有root权限运行命令,因此只会提示您输入用户密码。这样做的好处是可以设置root用户的环境,而仅通过使用sudo运行shell可能无法完成。