我可以使用sudo但由于密码validation失败我不能使用su,不应该都是同一个密码?
当我尝试使用sudo
一切正常,但是,如果我想以超级用户身份登录使用su
它不会让我。 为什么?
怎么了?
要使用su
命令更改(切换)用户,您应该提供目标用户的密码,它的工作方式。 但是使用sudo
您可以使用自己的密码。
例如,如果使用su -
命令切换到root
用户,则必须使用root的密码,默认情况下它没有任何密码,并且其帐户也被禁用。
有什么不同?
因此,对于su
我们向所有需要切换到目标用户的用户赠送一个密码, sudo
做的是克服这个问题。
我们设置了一个名为sudoers
的文件,在其中我们将定义谁可以做什么,所以每个人都使用sudo
和他自己的密码可以certificate它真的是他并运行一些特定的命令。
我能做什么?
您可以使用: sudo -i
切换到root,其默认shell作为登录shell,或者对于无登录shell sudo -s
甚至是旧学校sudo su -
(再次登录shell)。
额外的信息
您还可以使用sudo -l
查看您拥有的权限,例如,您是否有权在特定计算机上使用john切换到root或用户bob或运行特定命令?
澄清root帐户:
在Ubuntu机器中,默认情况下root帐户没有任何密码,同时帐户被禁用。 当您禁用帐户时,会在其密码哈希前面添加感叹号“!”,因此无论是否有密码,都无法登录该帐户。
$ sudo grep root /etc/shadow root:!:2020:0:99999:2:::
这意味着root没有任何密码(第二部分是空的,它只包含一个感叹号),同时它被禁用:注意!
。
不,在sudo
你输入自己的密码,在su
它是root的密码,通常在Ubuntu中被禁用。