更改密码时如何更改/禁用密码复杂性测试?

wob*_*ene 61 password policy

我知道这是一个“坏”的主意,我知道它不安全,我知道。我在网上搜索答案,我看到的只是抱怨这不好。但我喜欢使用 Linux,因为它让我可以制作我想要和喜欢使用的系统。介绍结束。

我尝试更改密码:

user:~% passwd
Changing password for user.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
You must choose a longer password
Run Code Online (Sandbox Code Playgroud)

如果我尝试,sudo passwd user那么我可以设置我想要的任何密码,这样我就不需要对系统上的 passwd 进行密码复杂性检查。

谷歌搜索后,我发现应该有PAM模块 pam_cracklib 来测试密码的复杂性,并且可以对其进行配置。但是我的 PAM 密码设置不包括 pam_cracklib:

% cat /etc/pam.d/passwd | grep '^[^#]'
@include common-password
% cat /etc/pam.d/common-password | grep '^[^#]'
password    [success=1 default=ignore]  pam_unix.so obscure sha512
password    requisite           pam_deny.so
password    required            pam_permit.so
password    optional    pam_gnome_keyring.so 
Run Code Online (Sandbox Code Playgroud)

我猜 pam_unix 进行了这个测试......哎呀......伙计们,当我写完这句话的那一刻,我得到了启发,并man pam_unix在终端中输入了我找到了 pam_unix 模块所需的选项。

我刚刚删除了选项模糊并添加了 minlen=1 ,现在我很高兴。所以现在我有这条线/etc/pam.d/common-password:

password    [success=1 default=ignore]  pam_unix.so minlen=1 sha512
Run Code Online (Sandbox Code Playgroud)

我可以设置任何密码。

我决定为可能也需要此解决方案的人保留这篇文章。

wob*_*ene 65

好的,我会回答我的问题:)

我发现该pam_unix模块执行密码复杂性检查并且可以配置。

man pam_unix:

   minlen=n
       Set a minimum password length of n characters. The default value is
       6. The maximum for DES crypt-based passwords is 8 characters.

   obscure
       Enable some extra checks on password strength. These checks are
       based on the "obscure" checks in the original shadow package. The
       behavior is similar to the pam_cracklib module, but for
       non-dictionary-based checks.
Run Code Online (Sandbox Code Playgroud)

解决方案:将文件中模块中的
行更改为:pam_unix/etc/pam.d/common-password

password    [success=1 default=ignore]  pam_unix.so minlen=1 sha512
Run Code Online (Sandbox Code Playgroud)

它允许您设置最小长度为 1 的任何密码。

  • 额外提示:删除“obscure”选项(如果存在)。 (2认同)

swe*_*tfa 24

如果是一次性的,以 root 身份使用 passwd 命令,您可以通过简单地输入所需的值来为用户设置一个简单的密码。

sudo su && passwd username
Run Code Online (Sandbox Code Playgroud)

然后根据提示输入两次密码。

  • 他的意思是执行“sudo su && passwd username”,然后 Linux 将允许您使用任何您想要的密码。 (7认同)
  • 请注意,您仍然会收到“密码错误”警告,但这可以让您更改密码。 (4认同)

小智 9

打开common-password配置文件进行编辑:

sudo -H gedit /etc/pam.d/common-password
Run Code Online (Sandbox Code Playgroud)

通过#在前面添加字符来注释此行,如下所示:

#password   [success=2 default=ignore]  pam_unix.so obscure use_authtok try_first_pass sha512
Run Code Online (Sandbox Code Playgroud)

还要注释此行,否则密码设置将要求您传递大写/小写字母的组合:

#password   requisite           pam_passwdqc.so enforce=everyone max=18 min=disabled,8,8,1,1 retry=2 similar=deny
Run Code Online (Sandbox Code Playgroud)

现在只需将此行添加到同一个文件中:

password    [success=1 default=ignore]  pam_unix.so minlen=1 sha512
Run Code Online (Sandbox Code Playgroud)

这应该做...