关于登录认证过程

最近,安装pam和登录过程,一些经验总结如下:

Linux系统登录过程简述如下:


       read /etc/inittab                    get username in tty             get password
init ---------------------> mingetty ---------------------------> login ------------------
                                            /etc/pam.d
-----> call PAM modules -------------> act/rej


Linux PAM 是一个通用认证机制。为库的形式。

配置文件放在/etc/pam.conf或/etc/pam.d/ . 配置文件可以使用include指令包含其它配置文件。当支持Linux-PAM的客户程序调用PAM api. PAM首先根据客户程序的类别,检查配置文件中的PAM在此类别中的堆叠模块数以及相应的堆叠模块名。依次调用这些模块进行认证检查。对于每一种模块的所需的配置文件放在/etc/security/目录中。


一般包括4种类别


auth                    验证类,用于登录验证
account              帐号类,用于非验证的帐号管理,如限制/允许访问基于,时间,允许的最大用户数,用户名
password         口令维护类,用于修改口令
session            会话类,用于用户在使用某项服务前或后必须先做某件事的检查。

模块后的域,一般是该模块的参数。

所以,要保证login,passwd正常工作必须保证PAM模块被正确安装和配置(配置文件必须存在),一般的安装目录为:
PAM全局文件:/etc/pam.conf   或 /etc/pam.d/* ; pam.d目录的存在会引起pam.conf被忽略。
PAM模块:/lib/security
PAM模块配置文件:/etc/security

系统登录(auth)修改(password)常用的模块是:
pam_unix :提供传统unix登录密码检查(从/etc/passwd和,或/etc/shadow)。
pam_cracklib:提供基于字典的密码复杂度和安全性检查。一般作为pam_unix的first pass(及上层堆叠模块)进行检查。pam_cracklib.so由PAM包提供。但它需要cracklib库(libcrack.so)。cracklib的字典文件一般位于:/usr/lib/cracklib_dict.*文件中,或/usr/share/cracklib/pw_dict.*文件中

典型的PAM配置文件如下:

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        required      pam_deny.so

account     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Security的登录认证流程如下: 1. 用户输入用户名和密码,生成一个AuthenticationToken对象。 2. 这个Token对象被传递给一个实现了AuthenticationManager接口的对象进行验证。 3. AuthenticationManager对Token对象进行验证,验证成功后返回一个Authentication对象。 4. 在验证成功后,可以调用AuthenticationSuccessHandler成功处理器进行跳转。 5. 在createSuccessAuthentication方法,会重新创建一个UsernamePasswordAuthenticationToken对象,并将已认证状态标志注明。 6. 在认证流程,我们会执行authenticationManager的authenticate方法,该方法实际上是一个接口,里面只有一个空方法。 总结一下,Spring Security的登录认证流程包括用户输入凭证信息,验证凭证信息,并返回认证结果的过程123 #### 引用[.reference_title] - *1* [spring-security-用户登陆验证流程](https://blog.csdn.net/a1396537376/article/details/90706729)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *2* *3* [SpringSecurity登录认证流程](https://blog.csdn.net/weixin_52353216/article/details/127359420)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值