我是一个 Linux 和 Unix 系统的新用户。如何在 Linux 操作系统上列出用户的组或组的用户?如何在基于 Linux 的服务器上显示属于给定组的用户列表?
您需要使用lid(列表ID)命令在shell提示符下显示有关包含用户名的组或组名中包含的用户的信息。该命令就像Linux操作系统上列出用户组成员身份的groups命令或输出组成员的members命令一样。此命令在其他类 Unix 操作系统上可能不可用。
cover/libuser-lid 命令详细信息 | |
---|---|
描述 | 显示属于给定组的用户。 |
类别 | 用户信息 |
难度级别 | 简单的 |
根权限 | 是的 |
操作系统兼容性 | Arch • CentOS • Debian • Fedora • Linux • Mint • openSUSE • RHEL • Stream • SUSE • Ubuntu |
美东时间。阅读时间 | 3分钟 |
目的
显示给定用户在 Linux 操作系统上所属的组。
句法
基本语法如下:
该命令必须以超级用户权限运行,否则您将收到如下错误:
$ lid userNameHere
$ libuser-lid userNameHere
### OR ###
$ lid [options] userNameHere
$ libuser-lid [options] userNameHere
初始化 libuser 时出错:未使用超级用户权限执行。
因此,请使用 sudo 命令或 su 命令。
sudo apt-get install libuser
在较新的系统上,lid命令重命名为libuser-lid
Linux Lid (libuser-lid) 命令示例
如果在命令行上跳过用户名,lid 会列出有关调用用户(也称为当前用户)的信息。只需键入以下命令:
$ sudo lid
或
# lid
示例输出:
默认情况下,如果未在命令行上指定用户名,lid 将显示包含调用用户的组。
如何以组名列出用户?
要显示组中的用户,请输入:
要查看“webmaster”组成员的用户,请输入:
示例输出:
# lid -g {groupNameHere}
# libuser-lid -g {groupNameHere}
# lid -g webmaster
# libuser-lid -g webmaster
网络管理员(uid=1014) 拉吉(uid = 1001) 维维克(uid=1002) 阿卡纳(uid=1003) 赛(uid = 1004) 萨亚利(uid=1005)
如何隐藏 GID/UID?
By default the user IDs (UID) or group IDs (GID) are displayed by lid command. To hide UID/GID pass the -n option:
# lid -n {name}
# lid -n example
# lid -n -g webmaster
# libuser-lid -n {name}
# libuser-lid -n example
# libuser-lid -n -g webmaster
Sample outputs:
webadmin raj vivek archana sai sayali
lid command options
From the command man page:
Options | Description |
---|---|
-i --interactive |
Prompt for all information. |
-g --group |
List members of a named group instead of the group memberships for the named user. |
-n --onlynames |
Only list membership information by name, and not UID/GID. |
-? --help |
Show this help message on screen. |
--usage | Display brief usage message. |
Say hello to the userdbctl command
You can use the userdbctl command command with systemd to inspect users, groups, and group memberships on the system. The syntax is:
# userdbctl [OPTIONS...] {COMMAND} [NAME...]
Users
Here is how to list all known users:
# userdbctl user
Outputs:
NAME DISPOSITION UID GID REALNAME HOME SHELL root intrinsic 0 0 - /root /bin/bash ┌─ ↓ begin system users ↓ system 1 - First system user - - bin system 1 1 - / /usr/bin/nologin daemon system 2 2 - / /usr/bin/nologin mail system 8 12 - /var/spool/mail /usr/bin/nologin ftp system 14 11 - /srv/ftp /usr/bin/nologin http system 33 33 - /srv/http /usr/bin/nologin uuidd system 68 68 - / /usr/bin/nologin dbus system 81 81 System Message Bus / /usr/bin/nologin _talkd system 972 972 User for legacy talkd server / /usr/bin/nologin systemd-journal-upload system 974 974 systemd Journal Upload / /usr/bin/nologin tss system 975 975 tss user for tpm2 / /usr/bin/nologin systemd-timesync system 976 976 systemd Time Synchronization / /usr/bin/nologin systemd-resolve system 977 977 systemd Resolver / /usr/bin/nologin systemd-journal-remote system 978 978 systemd Journal Remote / /usr/bin/nologin systemd-oom system 979 979 systemd Userspace OOM Killer / /usr/bin/nologin systemd-network system 980 980 systemd Network Management / /usr/bin/nologin systemd-coredump system 981 981 systemd Core Dumper / /usr/bin/nologin └─ ↑ end system users ↑ system 999 - Last system user - - vivek regular 1000 1000 - /home/vivek /bin/bash ┌─ ↓ begin systemd-homed users ↓ regular 60001 - First systemd-homed user - - └─ ↑ end systemd-homed users ↑ regular 60513 - Last systemd-homed user - - ┌─ ↓ begin mapped users ↓ regular 60514 - First mapped user - - └─ ↑ end mapped users ↑ regular 60577 - Last mapped user - - ┌─ ↓ begin dynamic system users ↓ dynamic 61184 - First dynamic system user - - └─ ↑ end dynamic system users ↑ dynamic 65519 - Last dynamic system user - - nobody intrinsic 65534 65534 Nobody / /usr/bin/nologin ┌─ ↓ begin container users ↓ container 524288 - First container user - - └─ ↑ end container users ↑ container 1878982656 - Last container user - - 19 users listed.
Also, try:
# userdbctl user {user_name_here}
# userdbctl user tom
Groups
Want to list all known group records? Try:
# userdbctl group
# userdbctl group {group_name_here}
Outputs:
NAME DISPOSITION GID DESCRIPTION root intrinsic 0 - ┌─ ↓ begin system groups ↓ system 1 First system group bin system 1 - 守护进程系统 2 - 系统 3 - tty 系统 5 - 记忆系统 8 - FTP 系统 11 - 邮件系统 12 - 日志系统 19 - smmsp 系统 25 - .... …… 轮系 998 - adm系统 999 - └─ ↑ 结束系统组 ↑ 系统 999最后一个系统组 维维克常规 1000 - ┌─ ↓ 开始 systemd-homed 组 ↓ 常规 60001第一个 systemd-homed 组 └─ ↑ 结束 systemd-homed 组 ↑ 常规 60513最后一个 systemd-homed 组 ┌─ ↓ 开始映射组 ↓ 常规 60514第一个映射组 └─ ↑ 结束映射组 ↑ 常规 60577最后映射组 ┌─ ↓ 开始动态系统组 ↓ 动态 61184第一个动态系统组 └─ ↑ 结束动态系统组 ↑ 动态 65519最后动态系统组 无人内在 65534 - ┌─ ↓ 开始容器组 ↓ 容器 524288第一个容器组 └─ ↑ 结束容器组 ↑ 容器 1878982656最后一个容器组 列出50 个组。
列出属于指定组成员的 Linux 用户
语法是:
# userdbctl users-in-group {GROUP}
# userdbctl users-in-group root
# userdbctl users-in-group vivek
列出指定 Linux 用户所属的 Linux 组
# userdbctl groups-of-user {USER}
# userdbctl groups-of-user vivek
加起来
您了解了lid (libuser-lid) 命令,该命令显示有关包含用户名的组或组名中包含的用户的信息。
也可以看看
查看Linux下所有用户管理相关文件:
- /etc/组
- /etc/密码
- /etc/影子
使用man命令或help命令来阅读文档:
$ man 1 lid
$ man 5 group
$ man userdbctl