パスワードファイルを解析するためにgrepを使用しています。
私が使うとき
grep -w "avahi" /etc/passwd
2 つの応答が返されましたが、一意の応答
avahi
をavahi-autoipd
返す方法が見つかりませんでした。
このコマンドは、名前 ( avahi
) が実際には変数である、より大きなスクリプトの一部です。
これは、名前がrpc
andの場合に機能しrpcuser
ます。だから私はそれが名前のダッシュ()と関係があると推測しています-
.
実際のコード:
#!/bin/ksh
getent shadow |cut -d: -f1-2|grep ':!!'| cut -d: -f1 > /tmp/pasck
while read line
do
NOLOGIN=`grep -w $line /etc/passwd | cut -d -f7|cut -d/ -f3`
if [[ $NOLOGIN != "nologin: && $NOLOGIN != "false" ]] ; then
echo "$line" "$NOLOGIN" >> /tmp/pasck.list
fi
done <?tmp/pasck
スクリプトはシャドウ ファイルを調べて、パスワードを持たないユーザーを探します。次に、結果を passwd ファイルと比較して、それらのアカウントのどれが/bin/false
またはに設定されているかを見つけます/sbin/nologin
。残りは、パスワードが設定されていないがシステムで許可されている実際のユーザーです。