密码设置及登陆控制文件位置:/etc/pam.d/system-auth
Linux-PAM(linux可插入认证模块)是一套共享库,使本地系统管理员可以随意选择程序的认证方式。换句话说,不用重新编译一个包含PAM功能的应用程序,就可以改变它使用的认证机制。这种方式下,就算升级本地认证机制,也不用修改程序. PAM使用配置/etc/pam.d/
下的文件,来管理对程序的认证方式.应用程序 调用相应的配置文件,从而调用本地的认证模块.模块放置在/lib/security
下,以加载动态库的形式进,像我们使用su
命令时,系统会提示你输入root用户的密码.这就是su命令通过调用PAM模块实现的。
Linux-PAM有四种模块类型,分别代表四种不同的任务,它们是:
认证管理(auth),
账号管理(account),
会话管理(session)
密码(password)管理,
一个类型可能有多行,它们按顺序依次由PAM模块调用.
vi /etc/pam.d/system-auth
配置分为基本分为四列:模块名称、控制、模块库文件和参数。
其中模块主要分四种,具体功能如下:
总结: auth、account、password、session,auth是一个标识符,说明要干的事情,auth处理登录时验证方面的事,account、password、session和登录时验证没啥关系,比如password是处理更改密码时的事情。
常用PAM模块
控制用来标记处理和判断各个模块的返回值。控制分为六种:
required 表示即使某个模块对用户的验证失败,也要等所有的模块都执行完毕后,PAM 才返回错误信息。
requisite 和required相似,但是如果这个模块返回失败,则立刻向应用程序返回失败,表示此类型失败.不再进行同类型后面的操作.
sufficient 表示如果一个用户通过这个模块的验证,PAM结构就立刻返回验证成功信息,把控制权交回应用程序。其后相关模块的所有控制都将会比忽略。
optional 只有当它是与此服务+类型相关联的配置项是中的唯一模块时,模块返回才有意义。
include 引入改项指定文件中的所有配置项。
substack 和include类似。不同之处在于,对子堆中的完成和失败的行为的评估不会导致跳过整个模块堆栈的其余部分,而只会跳过子模块。
CentOS操作系统密码复杂度策略设置
参考URL: https://yuweidong.blog.csdn.net/article/details/107831661
CentOS7密码复杂度配置
参考URL: https://blog.csdn.net/longfeizzu/article/details/101377584
linux设置密码复杂程度
参考URL: https://blog.csdn.net/weixin_43226231/article/details/105963093
在大多数 Linux 系统中,我们可以用 PAM(可插拔认证模块pluggable authentication module
)来加强密码策略。
在下面的路径可以找到这个文件。
在红帽系列的系统中,路径:/etc/pam.d/system-auth
。
Debian 系列的系统中,路径:/etc/pam.d/common-password
。
在CentOS 7上实现密码复杂度策略设置,主要是使用PAM pwquality模块完成
1、备份原有配置文件
cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
2、设置复杂度策略
vim /etc/pam.d/system-auth
找到包含pam_pwquality.so模块的行,将原有行注释并修改为如下的新配置,密码长度最少12位,至少包含一个大写字母,一个小写字母,一个数字,一个特殊符号。
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root
查看日志secure, 日志存放的为/var/log/secure
————————————————
版权声明:本文为CSDN博主「西京刀客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/inthat/article/details/117920671