2016-05-17 75 views
0

對於取證競賽,我需要生成系統上存在的服務帳戶列表。我目前的想法是使用位於/etc/login.defs中的SYS_UID_MIN和SYS_UID_MAX參數,然後對該範圍內的所有值使用grep。在系統上生成服務帳戶列表

但是,我不知道如何防止用戶名匹配。有沒有辦法只在第二列grep?

下面的代碼我現在所擁有的:

sudo -v 
sysmin=$(grep ^SYS_UID_MIN /etc/login.defs | awk '{print $2}') 
sysmax=$(grep ^SYS_UID_MAX /etc/login.defs | awk '{print $2}') 
awk -F: '{printf $1, printf " ", print $3}' /etc/passwd | grep /[$sysmin-$sysmax]/ > sysuserslist.temp 
+0

'AWK -vmin = $ sysmin -Vmax = $ sysmax -F: '$ 2>分鐘&& $ 2 twalberg

回答

1

您可以使用cut去除一切,但第2列,以便grep不會匹配用戶名。

cut -d 'delimiter' -f 2 

會返回由'分隔符'分隔的第二個字段。默認分隔符是TAB。

http://linux.die.net/man/1/cut