私たちは私たちの環境でパスワードエージングを実装する必要があります。私は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