最小パスワード使用期間が機能しないがエラーが発生しないように修正するシェルスクリプト

最小パスワード使用期間が機能しないがエラーが発生しないように修正するシェルスクリプト

このスクリプトの目的は、/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

関連情報