# find / -type f \( -perm -1000 -o -perm -2000 -o -perm -4000 \) -print
[步骤] Linux 密码策略的设置 (设置密码复杂度) (CentOS 8 & RHEL 8 版)
步骤目录:
步骤一:设置密码必须包含大小写字母等策略
1.1 生成设置密码必须包含大小写字母的策略文件
1.2 设置密码必须包含大小写字母等策略
步骤二:设置新密码不能和旧密码重复的策略
2.1 修改 /etc/authselect/custom/password-policy/password-auth 文件
2.2 修改 /etc/authselect/custom/password-policy/system-auth 文件
具体的操作步骤:
步骤一:设置密码必须包含大小写字母等策略
1.1 生成设置密码必须包含大小写字母的策略文件
# authselect list
- nis Enable NIS for system authentication
- sssd Enable SSSD for system authentication (also for local users only)
- winbind Enable winbind for system authentication
- custom/password-policy Enable SSSD for system authentication (also for local users only)
(
注意:如果没有 custom/password-policy 文件则进行以下操作:
# authselect create-profile password-policy -b sssd --symlink-meta --symlink-pam
# authselect select custom/password-policy
# authselect current
Profile ID: custom/password-policy
Enabled features: None
)
1.2 设置密码必须包含大小写字母等策略
# vim /etc/security/pwquality.conf
将部分内容修改如下:
......
minlen = 15
......
dcredit = -1
......
ucredit = -1
......
lcredit = -1
......
ocredit = -1
......
dictcheck = 1
......
usercheck = 1
......
(
补充:这里以
1) 密码最小长度为 15 个字符
2) 密码包含数字的个数,-1 代表必须包含
3) 密码包含大写字母的个数,-1 代表必须包含
4) 密码包含小写字母的个数,-1 代表必须包含
5) 密码包含特殊字符的个数,-1 代表必须包含
6) 检查密码中是否包含字典
7) 检查密码中是否包含用户
)
步骤二:设置新密码不能和旧密码重复的策略
2.1 修改 /etc/authselect/custom/password-policy/password-auth 文件
# vim /etc/authselect/custom/password-policy/password-auth
将以下内容:
......
password.*requisite.*pam_pwhistory.so
......
修改为:
......
password requisite pam_pwhistory.so remember=5 use_authtok
......
(补充:这里以新密码不能和前 5 个旧密码重复为例)
2.2 修改 /etc/authselect/custom/password-policy/system-auth 文件
# vim /etc/authselect/custom/password-policy/system-auth
将以下内容:
......
password.*requisite.*pam_pwhistory.so
......
修改为:
......
password requisite pam_pwhistory.so remember=5 use_authtok
(补充:这里以新密码不能和前 5 个旧密码重复为例)
[内容] Linux umask 的设置
内容目录:
内容一:默认权限值的含义
内容二:临时默认权限的设置
2.1 默认权限值的方法
2.2 默认权限值的方法
2.2.1 方法一:使用权限数字设置默认权限值
2.2.2 方法二:使用权限标志设置默认权限值
内容三:永久默认权限的设置
3.1 给某个用户单独设置 umask
3.1.1 给某个用户单独添加 umask 参数
3.1.2 让 umask 设置生效
3.2 全局设置 umask 的方法
3.2.1 通过修改 /etc/profile 文件实现
3.2.1.1 案例一
3.2.1.1.1 设置全局 umask 参数
3.2.1.1.2 让 umask 设置生效
3.2.1.2 案例二
3.2.1.2.1 设置全局 umask 参数
3.2.1.2.2 让 umask 设置生效
3.2.2 通过修改 /etc/bashrc 文件实现
3.2.2.1 案例一
3.2.2.1.1 设置全局 umask 参数
3.2.2.1.2 让 umask 设置生效
3.2.2.2 案例二
3.2.2.2.1 设置全局 umask 参数
3.2.2.2.2 让 umask 设置生效
具体的内容:
内容一:默认权限值的含义
如果 umask 的值是 0022:
创建的新目录的默认权限是:777 – 022 = 755
创建的新文件的默认权限是:666 – 022 = 644
内容二:临时默认权限的设置
2.1 默认权限值的方法
# umask
0022
2.2 默认权限值的方法
2.2.1 方法一:使用权限数字设置默认权限值
# umask 0002
2.2.2 方法二:使用权限标志设置默认权限值
# umask -S u=rwx,g=rwx,o=rw
内容三:永久默认权限的设置
3.1 给某个用户单独设置 umask
3.1.1 给某个用户单独添加 umask 参数
# vim ~/.bashrc
添加以下内容:
......
umask 022
(
补充:
1) 这里以将 umask 设置为 022 为例
2) 补充 /etc/bashrc 文件会比 /etc/profile 文件更有优先级
)
3.1.2 让 umask 设置生效
# source ~/.bashrc
3.2 全局设置 umask 的方法
3.2.1 通过修改 /etc/profile 文件实现
3.2.1.1 案例一
3.2.1.1.1 设置全局 umask 参数
# vim /etc/profile
将以下内容:
......
if [ $UID -gt 199 ] &&
[ "`/usr/bin/id -gn`" = "`/usr/bin/id un`" ]; then
umask 002
else
umask 022
fi
......
修改为:
......
if [ $UID -gt 199 ] &&
[ "`/usr/bin/id -gn`" = "`/usr/bin/id un`" ]; then
umask 002
else
umask 022
fi
......
(
补充:
1) 这里以将 umask 设置为 022 为例
2) 补充 /etc/bashrc 文件会比 /etc/profile 文件更有优先级
)
3.2.1.1.2 让 umask 设置生效
# source /etc/profile
3.2.1.2 案例二
3.2.1.2.1 设置全局 umask 参数
# vim /etc/bashrc
添加以下内容:
......
umask 022
(
补充:
1) 这里以将 umask 设置为 022 为例
2) 补充 /etc/bashrc 文件会比 /etc/profile 文件更有优先级
)
3.2.1.2.2 让 umask 设置生效
# source /etc/bashrc
3.2.2 通过修改 /etc/bashrc 文件实现
3.2.2.1 案例一
3.2.2.1.1 设置全局 umask 参数
# vim /etc/bashrc
将以下内容:
......
if [ $UID -gt 199 ] &&
[ "`/usr/bin/id -gn`" = "`/usr/bin/id un`" ]; then
umask 002
else
umask 022
fi
......
修改为:
......
if [ $UID -gt 199 ] &&
[ "`/usr/bin/id -gn`" = "`/usr/bin/id un`" ]; then
umask 002
else
umask 022
fi
......
(
补充:
1) 这里以将 umask 设置为 022 为例
2) 补充 /etc/bashrc 文件会比 /etc/profile 文件更有优先级
)
3.2.2.1.2 让 umask 设置生效
# source /etc/bashrc
3.2.2.2 案例二
3.2.2.2.1 设置全局 umask 参数
# vim /etc/bashrc
添加以下内容:
......
umask 022
(
补充:
1) 这里以将 umask 设置为 022 为例
2) 补充 /etc/bashrc 文件会比 /etc/profile 文件更有优先级
)
3.2.2.2.2 让 umask 设置生效
# source /etc/bashrc
[命令] Linux 命令 iptables (设置防火墙日志)
内容一:iptables 防火墙开启日志的案例
1.1 案例一:让日志记录未匹配任何规则的 TCP 数据包,之后再将其丢弃的方法
在所有规则后面添加以下两条规则:
......
# iptables -A INPUT -i -p tcp -j LOG --log-prefix "IPTABLES TCP IN: "
# iptables -A INPUT -i -p tcp -j DROP
(补充:这里以记录进来的数据并将 IPTABLES TCP IN: 作为前缀保存日志为例)
1.2 案例二:让日志记录未匹配任何规则的 UDP 数据包,之后再将其丢弃的方法
在所有规则后面添加以下两条规则:
......
# iptables -A INPUT -i -p tcp -j LOG --log-prefix "IPTABLES TCP OUT: "
# iptables -A INPUT -i -p tcp -j DROP
(补充:这里以记录进来的数据并将 IPTABLES TCP OUT: 作为前缀保存日志为例)
1.3 案例三:让日志记录未匹配任何规则的 ICMP 数据包,之后再将其丢弃的方法
在所有规则后面添加以下两条规则:
......
# iptables -A INPUT -i -p tcp -j LOG --log-prefix "IPTABLES TCP ICMP: "
# iptables -A INPUT -i -p tcp -j DROP
(补充:这里以记录进来的数据并将 IPTABLES TCP ICMP: 作为前缀保存日志为例)
内容二:查看 iptables 防火墙日志的方法
# cat /log/var/message
[内容] Linux acl 权限
案例目录:
案例一:给某一个文件或目录添加 acl
1.1 给某一个文件或目录添加一个用户的 acl
1.2 给某一个文件或目录添加一个组的 acl
1.3 递归给某一个目录和目录里的所有内容添加一个 acl
案例二:删除某一个文件或目录的 acl
2.1 删除某一个文件或目录一个用户的 acl
2.2 删除某一个文件或目录一个组的 acl
2.3 删除某一个文件或目录的所有 acl
2.4 递归删除某一个文件或目录的 acl
2.5 递归删除某一个文件或目录的所有 acl
案例三:查看某一个文件或目录的 acl
案例四:备份和还原某一个文件或目录的 acl
4.1 备份某一个文件或目录的 acl
4.2 还原某一给文件或目录的 acl
具体的案例:
案例一:给某一个文件或目录添加 acl
1.1 给某一个文件或目录添加一个用户的 acl
# setfacl -m u:zhumingyu:r-x /var
(补充:这里以在 /var 目录上给 zhumingyu 用户设置读和执行的 acl 权限为例)
1.2 给某一个文件或目录添加一个组的 acl
# setfacl -m g:zhumingyu:r-x /var
(补充:这里以在 /var 目录上给 zhumingyu 组设置读和执行的 acl 权限为例)
1.3 递归给某一个目录和目录里的所有内容添加一个 acl
# setfacl -Rm u:zhumingyu:r-x /var
(补充:这里以在 /var 目录上递归给 zhumingyu 组设置读和执行的 acl 权限为例)
案例二:删除某一个文件或目录的 acl
2.1 删除某一个文件或目录一个用户的 acl
# setfacl -x u:zhumingyu /var
(补充:这里以在 /var 目录上删除 zhumingyu 用户的 acl 权限为例)
2.2 删除某一个文件或目录一个组的 acl
# setfacl -x g:zhumingyu /var
(补充:这里以在 /var 目录上删除 zhumingyu 组的 acl 权限为例)
2.3 删除某一个文件或目录的所有 acl
# setfacl -b /var
(补充:这里以在 /var 目录上删除所有 acl 权限为例)
2.4 递归删除某一个文件或目录的 acl
# setfacl -Rx u:zhumingyu:r-x /var
(补充:这里以在 /var 目录上递归删除 zhumingyu 用户的 acl 权限为例)
2.5 递归删除某一个文件或目录的所有 acl
# setfacl -Rb /var
(补充:这里以在 /var 目录上递归删除所有 acl 权限为例)
案例三:查看某一个文件或目录的 acl
# getfacl /var
(补充:这里以查看 /var 目录的 acl 权限为例)
案例四:备份和还原某一个文件或目录的 acl
4.1 备份某一个文件或目录的 acl
# getfacl -R /var > /acl.backup
(补充:这里以备份 /var 目录的 acl 权限为例)
4.2 还原某一给文件或目录的 acl
# setfacl --restore /acl.backup
(补充:这里以还原 /var 目录的 acl 权限为例)