Mas*_*oor 4 encryption root sudo password
几年前,我们更习惯于使用su
命令更改为 root 帐户。首先,我们切换到 root 帐户,然后执行那些 root 命令。现在我们更习惯于使用sudo
命令。
但是我们知道 root 帐户在那里。我们可以很容易地找到用户 root 的主目录。
$ ls -ld /root/
drwx------ 18 root root 4096 Oct 22 17:21 /root/
Run Code Online (Sandbox Code Playgroud)
现在我的观点是,声明“Ubuntu 中的 root 密码未设置”。请参阅此问题的答案。大多数答案在第一段中都有这种效果。一两个答案进一步说明“该帐户已被禁用”。
现在我的(主要)问题是,
sudo password root
)为了更好地理解,我检查了/etc/shadow
文件。由于我已经为 root 帐户设置了密码,我再也看不到里面有什么(加密密码)。因此,我创建了另一个帐户并将其禁用。/etc/shadow
文件中对应的条目是,
testpassword:!:16020:0:99999:7:::
Run Code Online (Sandbox Code Playgroud)
现在也许我上面的查询需要更改为,!
密码字段是什么意思?其他加密密码是那些很长的神秘字符串。为什么这种加密形式只有一个字符长?如果我!
在(加密的)密码字段中输入一个,帐户是否会被禁用?
未设置密码是什么意思?是空白吗?它是空的吗?或者其他更神秘的东西?
只是不存在。默认情况下禁用root帐户,因此它不需要密码。所以,最相似的是undefined
(在 JavaScript 中)或(null)
(在其他语言中)。它只是未设置。
设置密码后,该帐户如何启用?
实际上,设置密码只是其中的一部分,但不会启用帐户。您需要使用以下方法启用该帐户:
sudo usermod -U root
Run Code Online (Sandbox Code Playgroud)
然后用 设置密码passwd
。
这是什么一个
!
在密码字段是什么意思?
摘自man shadow
:
以感叹号开头的密码字段表示密码已锁定。行上的其余字符代表密码被锁定之前的密码字段。
这可能意味着帐户被锁定。但是也:
如果密码字段包含一些不是 crypt(3) 有效结果的字符串,例如
!
or*
,用户将无法使用 unix 密码登录(但用户可以通过其他方式登录系统) .
无论哪种方式,任何帐户!
都无法使用使用影子文件的应用程序登录。
为什么这种加密形式只有一个字符长?
未加密。看上面。
如果我放一个 ! 帐户是否会被禁用?在(加密的)密码字段中?
也见上文。