dje*_*kyb 9 linux fedora passwords pam
我正在使用 Fedora 19。默认情况下,它使用 pam 进行设置以禁用错误密码,例如“密码”。这很好。试图更改此默认设置令人气愤。这是一个用于测试内部东西的盒子,没有连接到互联网,也没有连接到任何机器。错误的密码有助于测试过程。或者,你到底是怎么改变密码要求的??
man pam_cracklib有一些很好的例子来设置不同的密码要求。所以我打开/etc/pam.d/system-auth,在那里你会看到如下几行:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
password requisite pam_pwquality.so try_first_pass retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so
Run Code Online (Sandbox Code Playgroud)
*办公桌*。根据我的经验,这样的警告意味着每次包管理器运行和/或随机运行时,您的更改都会被擦除。
所以……authconfig是下一步。我查找所有名为“authconfig”的文件。/etc/sysconfig/authconfig看起来很有希望。而且,顶部没有关于一时兴起破坏我的编辑的警告。我找到这条线USEPWQUALITY=yes并改变它。现在我运行:
# authconfig --test
<snip>
pam_pwquality is enabled (try_first_pass retry=3 authtok_type=)
<snip>
Run Code Online (Sandbox Code Playgroud)
卧槽 所以让我们man authconfig仔细阅读一下。哦!看起来authconfig没有读取该文件,它已更改。那么....你如何配置authconfig?手册建议system-config-authentication,我安装它并且不提供任何类似于禁用 pam_pwquality 的复选框的东西。手册中的下一个建议是命令行选项。伟大的!我喜欢命令行工具。只是,没有记录的命令行选项禁用 pam_pwquality。
感谢 Aaron 的回答,我了解到几年前 Fedora 决定创建配置密码质量要求/etc/security/pwquality.conf 的地方。不幸的是,如文件和 中所述man 5 pwquality.conf,(1) 无法禁用字典检查,(2) 不能将允许的密码长度设置为低于 6。
粗略浏览一下/usr/sbin/authconfig和中的源代码后/usr/share/authconfig/authinfo.py:
authconfig --help/etc/security/pwquality.conf是密码最小长度等设置) 。恕我直言,这是一个错误,应该报告。从authinfo.py第 2489 行和第 2156 行开始:
def read(self):
self.readSysconfig()
...
self.readPAM(ref)
...
Run Code Online (Sandbox Code Playgroud)
首先readSysconfig阅读/etc/sysconfig/authconfig;然后你放在那里的内容会被readPAM里面的内容覆盖/etc/pam.d/*(特别password_auth*是 和system_auth*):
if module.startswith("pam_cracklib") or module.startswith("pam_pwquality"):
self.setParam("enablePWQuality", True, ref)
Run Code Online (Sandbox Code Playgroud)TL;DR:对于未被覆盖(或不能被覆盖)的选项,设置取自当前配置,包括标记为 autogenerate 的文件。要使其正常工作,请编辑/etc/sysconfig/authconfig 并删除显示的行grep -E pwq\|crack /etc/pam.d/*
编辑:还有第二个错误,这使得上面的建议仍然不起作用:第 2248 行:
# Special handling for pam_pwquality and pam_passwdqc: there can be
# only one.
if self.enablePWQuality and self.enablePasswdQC:
self.setParam("enablePasswdQC", False, ref)
if not self.enablePWQuality and not self.enablePasswdQC:
self.setParam("enablePWQuality", True, ref)
Run Code Online (Sandbox Code Playgroud)
您必须在两种质量控制实施方式中选择一种,否则我们会为您选择一种!与第一个错误相结合,这使得它无法禁用。
小智 1
它看起来可以通过配置/etc/security/pwquality.conf
来源: https: //fedoraproject.org/wiki/Features/PasswordQualityChecking
| 归档时间: |
|
| 查看次数: |
25825 次 |
| 最近记录: |