[root@server1 ~]# vim /etc/pam.d/system-auth
#%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 >= 1000 quiet_success
auth        required      pam_deny.so

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

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    required      pam_deny.so

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


上面文件中内容的相应解释:
1、第一组内容:

(1)auth        required      pam_env.so        
//登录后的环境变量。required表示一个错误则全返回错误,只不过最后返回错误

(2)auth        sufficient    pam_unix.so nullok try_first_pass   
//验证用户密码的有效性。如果使用nullok参数,用户不输入密码就可以获得系统提供的服务。同时,也允许用户密码为空时更改用户密码。
try_first_pass尝试在提示用户输入密码前,使用前面一个堆叠的auth模块提供的密码认证用户。sufficient表示如果该模块执行成功则跳过其他所有模块返回结果。

(3)auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success   
//允许uid大于1000的用户在通过密码验证的情况下登录。requisite表示执行错误则立即返回

(4)auth        required      pam_deny.so
 //对所有不满足上述任意条件的登录请求直接拒绝。required表示一个错误则全返回错误,只不过最后返回错误

2、第二组内容:

(1)account     required      pam_unix.so
 //主要执行建立用户帐号和密码状态的任务,然后执行提示用户修改密码,用户采用新密码后才提供服务之类的任务。required表示一个错误则全返回错误,只不过最后返回错误

(2)account     sufficient    pam_localuser.so
//要求将用户列于 /etc/passwd 中。sufficient表示如果该模块执行成功则跳过其他所有模块返回结果。

(3)account     sufficient    pam_succeed_if.so uid < 1000 quiet
 //对用户的登录条件做一些限制,表示允许uid大于1000的用户在通过密码验证的情况下登录。sufficient表示如果该模块执行成功则跳过其他所有模块返回结果。

(4)account     required      pam_permit.so
 //required表示一个错误则全返回错误,只不过最后返回错误

3、第三组内容:

(1)password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
 //对用户密码提供强健性检测。requisite表示执行错误则立即返回

(2)password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
//让用户更改密码的任务。sufficient表示如果该模块执行成功则跳过其他所有模块返回结果。

(3)password    required      pam_deny.so
 //对所有不满足上述任意条件的登录请求直接拒绝。required表示一个错误则全返回错误

4、第四组内容:

(1)session     optional      pam_keyinit.so revoke
//表示当用户登录的时候为其建立相应的密钥环,并在用户登出的时候予以撤销。optional表示即便该行所涉及的模块验证失败用户仍能通过认证

(2)session     required      pam_limits.so
 //限制用户登录时的会话连接资源,相关pam_limit.so配置文件是/etc/security/limits.conf,默认情况下对每个登录用户都没有限制。required表示一个错误则全返回错误,只不过最后返回错误

(3)-session     optional      pam_systemd.so


(4)session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
 //success=1时执行本行。default=ignore用来设置上面的返回值是无法达的行为时,那么这个模块的返回值将被忽略,不会被应用程序知道。对用户的登录条件做一些限制

(5)session     required      pam_unix.so
//记录用户名和服务名到日志文件的工作,只不过最后返回错误

 

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐