최소 비밀번호 사용 기간이 작동하지 않지만 오류가 발생하지 않도록 수정하는 쉘 스크립트

최소 비밀번호 사용 기간이 작동하지 않지만 오류가 발생하지 않도록 수정하는 쉘 스크립트

이 스크립트의 목표는 /etc/login.defs 파일에서 최소 비밀번호 사용 기간을 변경하는 것입니다.

내 문제는 이 스크립트가 실행되고 오류가 발생하지 않지만 파일을 vi할 때 아무 것도 변경되지 않는다는 것입니다. 나는 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

관련 정보