私はgrepを使ってパスワードファイルを解析しています。パスワードファイルで正確な単語をgrepする必要がありますが、2つの応答が返ってきます
私は
grep -w "avahi" /etc/passwd
を使用する場合、私は私が私のユニークな応答を与えるための方法を発見していない2つの応答
avahi
とavahi-autoipd
を取得します。
このコマンドは、実際には名前(avahi
)が変数である大きなスクリプトの一部です。
これは、名前がrpc
と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
スクリプトはshadowファイルを経由して、パスワードを持たないユーザーを探すためにしようとしています。次に、結果をpasswdファイルと比較して、いずれのアカウントが/bin/false
または/sbin/nologin
に設定されているかを調べます。残りの部分はパスワードが設定されておらず、システム上で許可されている実際のユーザーになります。
ありがとうございます。私はいつもシンプルが好きです。 – CharlieB