编辑脚本:
vi set_password_never_expire.sh#!/bin/bash
# 遍历所有用户
for user in $(cut -f1 -d: /etc/passwd); do
# 设置用户密码永不过期
sudo chage -M 99999 -m 0 -W 0 "$user" # 99999天,即设为永不过期
echo "Password expiration for user '$user' set to never expire."
done
echo "All users' password expiration set to never expire."给与执行权限
chmod +x set_password_never_expire.sh执行脚本
sh set_password_never_expire.sh上述方式只针对修改现有用户的密码永不过期策略
如果/etc/login.defs配置文件中已经配置了密码策略,需要手动删除,否则新建的用户会生效对应的策略
vi remove_login_defs.sh#!/bin/bash
# 定义要删除的行
lines_to_remove=(
"PASS_MAX_DAYS 90"
"PASS_MIN_DAYS 7"
"PASS_WARN_AGE 30"
)
# 备份原始文件
sudo cp /etc/login.defs /etc/login.defs.bak2
echo "Backup of /etc/login.defs created as /etc/login.defs.bak2."
# 遍历要删除的行
for line in "${lines_to_remove[@]}"; do
# 使用 sed 删除指定行
sudo sed -i "/^${line}/d" /etc/login.defs
echo "Removed line: $line"
done
echo "Specified lines have been removed from /etc/login.defs."给与执行权限
chmod +x remove_login_defs.sh执行脚本
sh remove_login_defs.sh 验证方式:
chage -l xiaolong上述命令中的用户自定义
评论区