如何防止用户将密码更改为最近的X个密码之一?


9

我有一个装有GNOME 3.18系统的Ubuntu GNOME 15.10,我想对其进行设置,以使使用它的用户无法将新密码设置为以前的X密码之一,如何实现?

当我更改密码时,如果密码与我的上一个密码太相似,则系统不允许我将其更改为该密码,那么,如果答案还可以显示如何扩展密码以使新密码也不能被更改,那将是很好的选择。与以前的X记录的密码太相似。

注意:不应以不安全的未加密方式存储最后X个密码的历史记录,实际上,它们可能应该以与当前密码存储方式相同或相似的方式(作为加盐哈希)存储。

我过去常常X表示密码的数量(可以是任何值),因为我希望能够轻松更改无法使用的已存储密码的数量,并让其他人可以轻松地获得答案并按原样使用我希望的不是一个围绕一个非常确定的价值的答案X

信息更新:

根据要求,这里是我(不包括顶部注释)/etc/pam.d/common-password文件的内容:

# here are the per-package modules (the "Primary" block)
password        [success=1 default=ignore]      pam_unix.so obscure sha512
# here's the fallback if no module succeeds
password        requisite                       pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
password        required                        pam_permit.so
# and here are more per-package modules (the "Additional" block)
password        optional        pam_gnome_keyring.so
# end of pam-auth-update config

请注意,a)强迫用户更改密码,b)阻止X> 2的X旧密码会降低安全性……“最好在我的旧密码后面附加1 ...并将其写在便笺上以提醒我...”
蒂姆

@Tim:我的系统中已经内置了一些机制,可以防止密码与上一个密码太相似。

这通常同样糟糕-确保用户将其写下来。我也不敢相信更改它会带来任何好处-当然也有负面影响。
蒂姆(Tim)

@Tim:另外,您只是让我想起了我忘了包含的内容,我已经用它更新了我的问题(尽管请注意,尽管这很好,但是如果答案不能显示如何执行此其他操作,那么我会很好得到我最初的要求)。

@蒂姆:我将制定其他政策阻止他们这样做,并将密切关注它们。

Answers:


17

您可以配置PAM为您执行此操作。只需打开/etc/pam.d/common-password并追加use_authtok到第一password行(调用pam_unix模块的那一行),使其看起来像这样:

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

现在将此行添加到先前修改的行上方:

password    required    pam_pwhistory.so  remember=X

其中X是您要检查重复密码的先前密码的数量。

这里以前的X密码将以散列形式存储在该位置/etc/security/opasswd

因此,当且仅当文件不存在时,才需要创建该文件并为其分配权限600(-rw-------):

sudo touch /etc/security/opasswd
sudo chmod 600 /etc/security/opasswd

尽管按照您的说法进行操作似乎意味着,如果我尝试设置以前使用过的密码作为gnome-control-center中的最后一个X密码之一,它什么也没有做,迫使我强制退出该应用程序,但是似乎效果不是很好...在14.04上它到底做了什么?因为我希望它能告诉我密码是否不合适,而不是在我要求更改密码时挂起密码。

@ParanoidPanda非常有趣。尝试使用更改密码时会得到什么passwd?这就是我发生的事情。当我使用进行更改时,出现passwd“密码已被使用。选择其他密码”。当我尝试从GUI更改密码时,不允许我更改密码(“更改”按钮显示为灰色),并写有“密码太弱”。
daltonfury42'2013-4-8

应该注意的是,我从运行Unity而不是Gnome的Ubuntu 14.04报告。
daltonfury42 '16

我再次进行了测试,这次是在带有GNOME 3.20的Ubuntu GNOME 16.04 Beta 2安装中,我发现它的工作原理与您使用passwd命令描述的相同,但是在中没有gnome-control-center,它只是在允许我后挂起按Change。虽然这可能是一个错误,但我需要在以下方面提交报告

2
@ParanoidPanda这可能是因为gnome-control-center中的编程不佳,而不是因为它不起作用。PAM配置绝对是执行此操作的最佳方法。
赛斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.