的权限/etc/shadow是 600,这意味着除了 root 之外的任何人都无法读取它。
但是,由于其中的所有密码都不是以明文形式存储的,而是以散列形式存储的(这意味着不可能从散列中计算出原始密码),为什么每个人都无法读取它?
$cat /etc/passwd |grep -i root
root:x:0:0:root:/root:/bin/bash
$sudo cat /etc/shadow |grep -i root
root:!:17179:0:99999:7:::
Run Code Online (Sandbox Code Playgroud)
在影子文件的第二个字段中,!表示 root 用户无法登录,但为什么我可以通过 登录到 root 用户sudo su?
为什么我不能通过su root或登录到 root 用户su -?
在调查时/etc/passwd,/etc/shadow我发现了许多非人类用户。我读了一些关于它并知道他们做什么(作为一个团体,尽管我看到很多我不知道)。他们所有人(不包括 root(锁定密码)和我的人类用户帐户)从未建立过密码(*)。
是否有任何测试或我可以或应该做的事情来确保这些不会泄漏并且我们可以信任它们。