該腳本的目標是更改 /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