비밀번호 만료일: 스크립트

비밀번호 만료일: 스크립트

우리는 우리 환경에서 비밀번호 노화를 구현해야 합니다. 나는 chage와 Shadow 파일을 사용하는 것이 매우 가능하다는 것을 알고 있습니다. 그러나 비밀번호는 NIS에 의해 처리되므로 비밀번호 만료를 달성하기 위해 chage 메소드를 사용할 수 없습니다. 나는 정기적으로(매일) passwd 파일을 확인하여 메일 알림을 받은 180일 이후 어떤 사용자도 비밀번호를 변경하지 않았는지 확인하는 스크립트를 작성할 수 있는지 궁금했습니다. 이렇게 하면 사용자에게 알리고 비밀번호를 변경하도록 요청할 수 있습니다. 일종의 비밀번호 노화. 이것이 완벽한 사례는 아닐 것이라는 점을 알고 있지만 이 해결 방법을 채택해야 합니다. 지금까지 UNIX 사용자는 55명에 불과합니다. 저는 프로그래밍을 좋아하지 않기 때문에 이를 수행하는 방법에 대한 몇 가지 팁을 여러분 모두에게 요청하고 있습니다. 시도해 보았지만 그럴 가치가 없습니다.

###Here the script will change the difference in two password files passwd.2 and passwd.11 and if there are differences then record them(only Usernames) in the file Table 
#!/bin/bash
#set -x


if [[ "$(diff passwd.2 passwd.11 )" != "" ]]; then
        ( date ; echo FileChanged ) >> Status2
        ( diff passwd.2 passwd.11 ) >> Status2
        diff --unchanged-line-format="" --old-line-format="" --new-line-format=":%dn: %L" passwd.2 passwd.11  |awk -F: '{print $3}' >> Table
        tail -15 Status2
        tail -15 Table
else
        ( date ; echo NOFileChanged ) >> Status2
fi

샘플 비밀번호 파일은 다음과 같습니다. 비밀번호:

t1:$2y$05$lFZBPdAihnWxJPwfHeoI8WBdhzZGtcVJXXXXXXXXXXXXXXXXX:10954:20000:Test User temporary:/home/t1:/bin/bash
fdl:Nologin*:499:20190:fdl,Application User:/home/fdl:/bin/csh
v1:$2y$05$lPdAihnWXXXXXXXXXXXXXXXXXcPwfHeoI8WBdhzZGtcVJXXXXXXXXXXXXXXXXX:10955:20000:Test User temporary:/home/v1:/bin/bash
v2:$2y$05BPdAihnWxJeXXXXXXXXXXXXXXXXXoI8WBdhzZGXXXXXXXXXXXXXXXXX:10956:20000:Test User temporary:/home/v2:/bin/bash
v3:$2y$05$lFZBPdAiXXXXXXXXXXXXXXXXXoI8WBdhzZGXXXXXXXXXXXXXXXXX:10957:20000:Test User temporary:/home/v3:/bin/bash
v4:$2y$05$lFZBPdAXXXXXXXXXXXXXXXXXfHeoI8WBdhzXXXXXXXXXXXXXXXXX:10958:20000:Test User temporary:/home/v4:/bin/bash

관련 정보