列出linux系统中的敏感用户

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

#! /bin/bash
#list user who belong to more than one group
#and list user who belong to the group which  isn't the same as the username
#w is whitelist,we will not think user in this whitelist is special or dangerous
w=("root" "adm" "games" "operator" "halt" "shutdown" "sync" "daemon" "bin" "operator")
function WhiteList()
{
        for i in ${w[@]}
        do
                if [ "$i" == "$1" ];then
                        return 1
                fi
        done
        return 0
}
IFS="
"
for LINE in `cat /etc/passwd|awk -F: '{print $1}'`
do
        WhiteList $LINE;
        #if $? equal 1,means it is in the whitelist
        if [ $? -eq 0 ];then
                a=`groups $LINE|awk -F: '{print $2}'`
                b=`echo $a`
                if [ "$b" != "$LINE" ];then
                        #echo $LINE
                        echo `groups $LINE`
                fi
        fi
done