https://blog.csdn.net/longfeizzu/article/details/101377584

查看密码策略设置

  1. cat /etc/login.defs|grep PASS

centos设置密码复杂度

https://blog.csdn.net/weixin_43842833/article/details/99682163?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link

Centos 系统安全加固

http://www.360doc.com/content/15/0205/13/21665131_446437188.shtml

CentOS操作系统密码复杂度策略设置

https://yuweidong.blog.csdn.net/article/details/107831661?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-15.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-15.no_search_link

linux 修改密码时不能重复前n次使用过的

https://blog.csdn.net/weixin_40720226/article/details/95975981

Centos 7 设置密码策略步骤记录

1.查看原始的密码策略

  1. [root@bogon ~]# cat /etc/pam.d/system-auth
  2. #%PAM-1.0
  3. # This file is auto-generated.
  4. # User changes will be destroyed the next time authconfig is run.
  5. auth required pam_env.so
  6. auth sufficient pam_unix.so nullok try_first_pass
  7. auth requisite pam_succeed_if.so uid >= 1000 quiet_success
  8. auth required pam_deny.so
  9. account required pam_unix.so
  10. account sufficient pam_localuser.so
  11. account sufficient pam_succeed_if.so uid < 1000 quiet
  12. account required pam_permit.so
  13. password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
  14. password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
  15. password required pam_deny.so
  16. session optional pam_keyinit.so revoke
  17. session required pam_limits.so
  18. -session optional pam_systemd.so
  19. session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
  20. session required pam_unix.so
  1. [root@bogon ~]# cat /etc/login.defs|grep PASS
  2. # PASS_MAX_DAYS Maximum number of days a password may be used.
  3. # PASS_MIN_DAYS Minimum number of days allowed between password changes.
  4. # PASS_MIN_LEN Minimum acceptable password length.
  5. # PASS_WARN_AGE Number of days warning given before a password expires.
  6. PASS_MAX_DAYS 99999
  7. PASS_MIN_DAYS 0
  8. PASS_MIN_LEN 5
  9. PASS_WARN_AGE 7

2.备份原始密码策略文件

  1. [root@bogon ~]# cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak.1009

3.编辑文件,设置新的密码策略

  1. vim /etc/pam.d/system-auth

找到包含pam_pwquality.so模块的行,将原有行注释并修改为如下的新配置,密码长度最少12位,至少包含一个大写字母,一个小写字母,一个数字,一个特殊符号。

  1. 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

minlen=12 密码最小长度为12个字符。
lcredit=-1 密码应包含的小写字母的至少一个
ucredit=-1 密码应包含的大写字母至少一个
dcredit=-1 将密码包含的数字至少为一个
ocredit=-1 设置其他符号的最小数量,例如@,#、! $%等,至少要有一个
enforce_for_root 确保即使是root用户设置密码,也应强制执行复杂性策略。

3.1 再配置修改密码时不能重复前n次使用过的
在 password sufficient pam_unix.so use_authtok md5 shadow remember=10
在相应行的后面添加 remember=10,而不是添加一行!

最终的文件结果为:

  1. [root@bogon ~]# cat /etc/pam.d/system-auth
  2. #%PAM-1.0
  3. # This file is auto-generated.
  4. # User changes will be destroyed the next time authconfig is run.
  5. auth required pam_env.so
  6. auth sufficient pam_unix.so nullok try_first_pass
  7. auth requisite pam_succeed_if.so uid >= 1000 quiet_success
  8. auth required pam_deny.so
  9. account required pam_unix.so
  10. account sufficient pam_localuser.so
  11. account sufficient pam_succeed_if.so uid < 1000 quiet
  12. account required pam_permit.so
  13. #password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
  14. 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
  15. #password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
  16. password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=8
  17. password required pam_deny.so
  18. session optional pam_keyinit.so revoke
  19. session required pam_limits.so
  20. -session optional pam_systemd.so
  21. session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
  22. session required pam_unix.so

这个时候不用重启机器

  1. 修改密码测试策略

image.png

image.png
通过/etc/security/opasswd中查看禁止使用近期用过的5个密码
image.png

改密码时,不能用之前10次内用过的密码
注意:这个密码策略对root用户无效
image.png

5.设置密码有效期

此节内容可以参考链接:https://www.cnblogs.com/kevingrace/p/9670160.html

/etc/login.defs文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的。
5.1 备份原有文件

  1. cp /etc/login.defs /etc/login.defs.back.1009

5.2 修改密码有效期

  1. PASS_MAX_DAYS 90 —-两次改变密码之间相距的最大天数,密码有效最大天数
  2. PASS_MIN_DAYS 0 —-两次改变密码之间相距的最小天数,为零时代表任何时候都可以更改密码
  3. PASS_MIN_LEN 12 —-密码最小长度
  4. PASS_WARN_AGE 10 —-在密码过期之前警告的天数

注意:以上只对之后新增的用户有效,如果要修改已存在的用户密码规则,需要使用chage命令
/etc/shadow
image.png
5.3对已存在用户,配置密码过期时间

  1. chage -M 8 -m 0 -W 10 test
  2. chage -M 90 test 修改test账户密码的有效天数为90天。过了这个天数,账户密码无效

查看账户的信息

  1. [root@bogon ~]# chage -l test
  2. Last password change : Oct 09, 2021
  3. Password expires : Jan 07, 2022
  4. Password inactive : never
  5. Account expires : never
  6. Minimum number of days between password change : 0
  7. Maximum number of days between password change : 90
  8. Number of days of warning before password expires : 10

如果一个用户密码已经过期,超过有效期。那么这个用户还是可以用原密码登录的,只是登录之后会立即让你修改密码:
image.png

测试:root用户设置了密码有效期之后,超过有效期之后

  1. [root@bogon ~]# chage -l root
  2. Last password change : Oct 11, 2021
  3. Password expires : never
  4. Password inactive : never
  5. Account expires : never
  6. Minimum number of days between password change : 0
  7. Maximum number of days between password change : 99999
  8. Number of days of warning before password expires : 7
  9. [root@bogon ~]# chage -M 90 -m 0 -W 10 root
  10. [root@bogon ~]# chage -l root
  11. Last password change : Oct 11, 2021
  12. Password expires : Jan 09, 2022
  13. Password inactive : never
  14. Account expires : never
  15. Minimum number of days between password change : 0
  16. Maximum number of days between password change : 90
  17. Number of days of warning before password expires : 10
  18. [root@bogon ~]# date
  19. Fri Nov 12 00:11:22 EST 2021

image.png

修改当前系统时间,超过有效期时间

  1. [root@bogon ~]# date -s 2022-02-09
  2. Wed Feb 9 00:00:00 EST 2022

image.png

退出root用户。再重新登录,这个时候还是用原来的密码。进来之后要立即修改密码
image.png


CentOS 添加用户并赋予管理员权限

1、新建用户,这里新建一个 test_user 的用户

adduser -m test_user

2、设置新用户密码

passwd test_user

3、将sudoers文件的权限修改成可编辑

chmod -v u+w /etc/sudoers

4、使用vim编辑sudoers文件

vim /etc/sudoers

5、在sudoes文件中添加如下的内容

找到 root ALL=(ALL) ALL

然后添加

test_user ALL=(ALL) ALL

如需新用户使用sudo时不用输密码,把最后一个ALL改为NOPASSWD:ALL即可。

6、将sudoers文件的权限修改成不可编辑

chmod -v u-w /etc/sudoers

题外话

查看用户所属分组

  1. [root@localhost ~]# cat /etc/group | grep csboci
  2. csboci:x:1000:
  3. [root@localhost ~]#