我正在使用 grep 来解析密码文件。
当我使用
grep -w "avahi" /etc/passwd
我收到了两个回复
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
。其余的将是未设置密码但允许在系统上使用的实际用户。