我想获取sys
Debian 中用户的密码哈希(但首选密码)。我听说所有密码哈希值都存储在/etc/shadow
文件中,但没有用户的密码哈希值sys
。
如何获得?
PS我有root权限。
答案1
在通常的桌面安装中,所见即所得/etc/shadow
,系统用户通常没有设置密码。它们不用于交互式登录,因此不需要密码。
例如,在我查看的系统上,/etc/shadow
有以下行sys
:
sys:*:19101:0:99999:7:::
*
如果用户有密码,这就是密码哈希值所在的位置。但*
它是一个无效的密码哈希,不会产生任何密码,因此用户没有可以登录的密码。
请注意,如果密码哈希字段为空,则可能允许在不输入密码的情况下登录。对于 Linux PAM 库,这是nullok
由pam_unix.so
(手册页):
nullok
该模块的默认操作是如果用户的官方密码为空,则不允许用户访问服务。该nullok
参数会覆盖此默认值。
(如果启用,并且密码为空,则模块甚至不会询问密码,而是直接接受登录。)
如果您确实愿意,您可以以通常的方式为系统设置密码,但我建议您重新考虑您正在做的事情;可能有更好的方法。另请注意,他们可能也没有可用的 shell 设置,例如在我查看的系统上,sys
用户的 shell 设置为/usr/sbin/nologin
.