我如何列出所有用户及其 UID?我想从终端执行此操作。
答案1
列出拥有/home
文件夹的所有用户:
awk -F: '/\/home/ {printf "%s:%s\n",$1,$3}' /etc/passwd
或所有具有以下项的用户UID >= 1000
:
awk -F: '($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd
组合
awk -F: '/\/home/ && ($3 >= 1000) {printf "%s:%s\n",$1,$3}' /etc/passwd
或所有条目
awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd
更多信息这里
答案2
您只需使用以下方法即可轻松找到它cut
:
cut -d: -f1,3 /etc/passwd
-d:
设置分隔符:
为cut
-f1,3
从文件:
中提取仅以 分隔的字段 1 和 3/etc/passwd
检查man cut
以获得更多想法。
例子 :
$ cut -d: -f1,3 /etc/passwd
root:0
daemon:1
bin:2
sys:3
sync:4
games:5
......
如果已ldap
配置,则将用户包含ldap
在输出中:
getent passwd | cut -d: -f1,3
答案3
或者列出所有用户,包括 UID 和 GID 信息。
for user in $(cat /etc/passwd | cut -f1 -d":"); do id $user; done
干杯,
答案4
我发现最简单的方法是在您的服务器上安装 webmin,然后只需转到系统>用户和组,您就会得到一个格式良好的列表,其中包含所有用户名和组及其 uid、主目录等。