用于修复最短密码期限的 Shell 脚本不起作用但没有错误

用于修复最短密码期限的 Shell 脚本不起作用但没有错误

该脚本的目标是更改 /etc/login.defs 文件中的最短密码期限。

我的问题是,这个脚本运行时,我没有收到任何错误,但是当我访问该文件时,没有任何变化。我不太擅长 sed 所以我认为有问题。需要帮助找出问题所在。

min_pass_age=7

sed -i "s/^PASS_MIN_DAYS.*/PASS_MIN_DAYS ${min_pass_age}/" /etc/login.defs

答案1

修正了一些事情。末尾需要 /g,因为它需要选取行开头的内容并忽略注释行。不需要使用双引号,应该只使用单引号。

sed -i 's/^PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/g' /etc/login.defs

sed -i 's/^PASS_MIN_DAYS.*/PASS_MIN_DAYS 7/g' /etc/login.defs

相关内容