该脚本的目标是更改 /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