在Unix中,用户拥有最高的UID?

时间:2010-10-31 23:14:54

标签: unix

有人可以告诉我如何找到以下内容。

从/ etc / passwd列出UID和具有最高UID的用户。

5 个答案:

答案 0 :(得分:6)

cat /etc/passwd | awk -F: '{print $3,$1}' | sort -n | tail -n 1

答案 1 :(得分:4)

不是阅读/etc/passwd,而是从

获取输出会更好
getent passwd

您可以通过nsswitch使用其他UID源,例如LDAP。

答案 2 :(得分:2)

/etc/passwd包含以冒号分隔的用户信息。用户ID位于第三列。

sort命令行工具可用于对文件行进行排序。它有选项,用于选择列分隔的分隔符,要排序的列以及是按数字还是按字母顺序排序。

因此,您可以使用sort按用户ID对/etc/passwd进行排序,然后使用tail从中获取最后一行,其中包含ID最高的用户。

答案 3 :(得分:0)

getent passwd | awk -F : '$3>h{h=$3;u=$1}END{print h " " u}'

答案 4 :(得分:0)

需要为awk命令对getent输出进行排序。 此外,我发现nfsnobody(在Linux上)可以忽略,而第二高的UID是经常需要的。因此,效果很好:

65534 nfsnobody 1002 user2

[Age] IN (29,30,41)