https://blog.csdn.net/longfeizzu/article/details/101377584
查看密码策略设置
cat /etc/login.defs|grep PASS
centos设置密码复杂度
Centos 系统安全加固
http://www.360doc.com/content/15/0205/13/21665131_446437188.shtml
CentOS操作系统密码复杂度策略设置
linux 修改密码时不能重复前n次使用过的
https://blog.csdn.net/weixin_40720226/article/details/95975981
Centos 7 设置密码策略步骤记录
1.查看原始的密码策略
[root@bogon ~]# cat /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
[root@bogon ~]# cat /etc/login.defs|grep PASS
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
2.备份原始密码策略文件
[root@bogon ~]# cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak.1009
3.编辑文件,设置新的密码策略
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
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,而不是添加一行!
最终的文件结果为:
[root@bogon ~]# cat /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 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
#password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=8
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
这个时候不用重启机器
- 修改密码测试策略
通过/etc/security/opasswd中查看禁止使用近期用过的5个密码
改密码时,不能用之前10次内用过的密码
注意:这个密码策略对root用户无效
5.设置密码有效期
此节内容可以参考链接:https://www.cnblogs.com/kevingrace/p/9670160.html
/etc/login.defs文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的。
5.1 备份原有文件
cp /etc/login.defs /etc/login.defs.back.1009
5.2 修改密码有效期
PASS_MAX_DAYS 90 —-两次改变密码之间相距的最大天数,密码有效最大天数
PASS_MIN_DAYS 0 —-两次改变密码之间相距的最小天数,为零时代表任何时候都可以更改密码
PASS_MIN_LEN 12 —-密码最小长度
PASS_WARN_AGE 10 —-在密码过期之前警告的天数
注意:以上只对之后新增的用户有效,如果要修改已存在的用户密码规则,需要使用chage命令
/etc/shadow
5.3对已存在用户,配置密码过期时间
chage -M 8 -m 0 -W 10 test
chage -M 90 test 修改test账户密码的有效天数为90天。过了这个天数,账户密码无效
查看账户的信息
[root@bogon ~]# chage -l test
Last password change : Oct 09, 2021
Password expires : Jan 07, 2022
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 90
Number of days of warning before password expires : 10
如果一个用户密码已经过期,超过有效期。那么这个用户还是可以用原密码登录的,只是登录之后会立即让你修改密码:
测试:root用户设置了密码有效期之后,超过有效期之后
[root@bogon ~]# chage -l root
Last password change : Oct 11, 2021
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
[root@bogon ~]# chage -M 90 -m 0 -W 10 root
[root@bogon ~]# chage -l root
Last password change : Oct 11, 2021
Password expires : Jan 09, 2022
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 90
Number of days of warning before password expires : 10
[root@bogon ~]# date
Fri Nov 12 00:11:22 EST 2021
修改当前系统时间,超过有效期时间
[root@bogon ~]# date -s 2022-02-09
Wed Feb 9 00:00:00 EST 2022
退出root用户。再重新登录,这个时候还是用原来的密码。进来之后要立即修改密码
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
题外话
查看用户所属分组
[root@localhost ~]# cat /etc/group | grep csboci
csboci:x:1000:
[root@localhost ~]#