当前位置: 首页>>技术教程>>正文


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

, , ,

问题描述

我知道这是一个”bad”的想法,我知道它不安全,我知道。我在网上搜索了一个答案,我看到的只是抱怨说这不好。但我喜欢使用Linux,因为它让我可以创建我想要的系统并且喜欢使用它。介绍结束。

我尝试更改密码:

ruslan:~% passwd
Changing password for ruslan.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
You must choose a longer password

如果我尝试sudo passwd ruslan然后我可以设置我想要的任何密码,所以我不需要密码复杂性检查我的系统上的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 

我猜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

我可以设置我想要的任何密码。

我决定为那些可能也需要这个解决方案的人保留这篇文章。对不起,谢谢。

最佳解决思路

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

我发现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.

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

password    [success=1 default=ignore]  pam_unix.so minlen=1 sha512

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

次佳解决思路

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

第三种解决思路

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

sudo gedit /etc/pam.d/common-password

评论此行:

#password   [success=2 default=ignore]  pam_unix.so obscure use_authtok try_first_pass sha512

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

#password   requisite           pam_passwdqc.so enforce=everyone max=18 min=disabled,8,8,1,1 retry=2 similar=deny

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

password    [success=1 default=ignore]  pam_unix.so **minlen=1** sha512

这应该做到……

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2605.html,未经允许,请勿转载。