系统的“sys”用户的密码哈希存储在 Debian 中的哪里?

Vad*_*Sim 3 users password debian shadow

我想获取sysDebian 中用户的密码哈希(但首选密码)。我听说所有密码哈希值都存储在/etc/shadow文件中,但没有用户的密码哈希值sys

如何获得?

PS我有root权限。

ilk*_*chu 13

在通常的桌面安装中,所见即所得/etc/shadow,系统用户通常没有设置密码。它们不用于交互式登录,因此不需要密码。

例如,在我查看的系统上,/etc/shadow有以下行sys

sys:*:19101:0:99999:7:::
Run Code Online (Sandbox Code Playgroud)

如果用户有密码,这*就是密码哈希值所在的位置。但*它是一个无效的密码哈希,不会产生任何密码,因此用户没有可以登录的密码。

请注意,如果密码哈希字段为空,则可能允许在不输入密码的情况下登录。对于 Linux PAM 库,这是通过(手册页nullok)的设置来控制的:pam_unix.so

nullok
该模块的默认操作是如果用户的官方密码为空,则不允许用户访问服务。该nullok参数会覆盖此默认值。

(如果启用,并且密码为空,则模块甚至不会询问密码,而是直接接受登录。)

如果您确实愿意,您可以以通常的方式为系统设置密码,但我建议您重新考虑您正在做的事情;可能有更好的方法。另请注意,他们可能也没有可用的 shell 设置,例如在我查看的系统上,sys用户的 shell 设置为/usr/sbin/nologin.

  • @VadSim如果用户在`/etc/shadow`中没有哈希值,则意味着该用户没有密码。_这并不意味着密码是空字符串_。 (4认同)