用过Linux系统的人都知道,Linux系统查看用户不是会Windows那样,鼠标右键看我的电脑属性,然后看计算机用户和组即可。 那么Linux操作系统里查看所有用户该怎么办呢?用命令。其实用命令就能很轻松的查看到Linux系统有哪些用户。
cat /etc/passwd #查看用户
cat /etc/group #查看用户组
一、查看所有用户/etc/passwd 是一个文本文件,它包含每个用户登录 Linux 系统所必需的的信息。它维护用户的有用信息,如用户名,密码,用户 ID,组 ID,用户 ID 信息,家目录和 Shell。/etc/passwd 文件将每个用户详细信息放在一行中,包含 7 个字段,如下所示:
[root@centos-162 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
......
sssd:x:992:988:User for sssd:/:/sbin/nologin
clevis:x:991:987:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/sbin/nologin
chrony:x:990:986::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
rickie:x:1000:1000:rickie:/home/rickie:/bin/bash
7 个字段的详细信息如下:
- 用户名 (root): 已创建用户的用户名,字符长度 1 个到 12 个字符。
- 密码(x):代表加密密码保存在 `/etc/shadow 文件中。
- 用户 ID(0):代表用户的 ID 号,每个用户都要有一个唯一的 ID 。UID 号为 0 的是为 root 用户保留的,UID 号 1 到 99 是为系统用户保留的,UID 号 100-999 是为系统账户和群组保留的。
- 群组 ID (0):代表群组的 ID 号,每个群组都要有一个唯一的 GID ,保存在 /etc/group文件中。
- 用户信息(root):代表描述字段,可以用来描述用户的信息(LCTT 译注:此处原文疑有误)。
- 家目录(/root):代表用户的家目录。
- Shell(/bin/bash):代表用户使用的 shell 类型。
如果你只想显示 /etc/passwd 文件中的用户名,使用以下格式:
cut -d: -f1 /etc/passwd
[root@centos-162 ~]# cut -d: -f1 /etc/passwd
root
bin
…. 省略 ...
sshd
tcpdump
rickie
只显示用户的家目录,使用以下格式:
[root@centos-162 ~]# cat /etc/passwd | grep '/home' | cut -d: -f1
rickie
二、查看用户组
用户组的所有信息都存放在/etc/group文件中。此文件的格式是由冒号(:)隔开若干个字段,这些字段具体如下:
组名:口令:组标识号:组内用户列表
- 组名:组名是用户组的名称,由字母或数字构成。
- 口令:口令字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。
- 组标识号:组标识号与用户标识号类似,也是一个整数,被系统内部用来标识组。别称GID.
- 组内用户列表:是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。
命令:cat /etc/group
输出内容如下所示:
[root@centos-162 ~]# cat /etc/group
root:x:0:
bin:x:1:
…. 省略 …
tcpdump:x:72:
rickie:x:1000: