要查看用户所属群组,应使用groups或id命令。1. 使用groups命令可直接列出用户所属的所有组,如groups username;2. 使用id命令能获取更全面的信息,包括uid、gid及所有组,如id username;3. 主组决定文件创建时的默认组,附加组用于扩展权限;4. 组变更后需重新登录或新开会话才能生效,因组信息在登录时缓存;5. 可通过usermod、gpasswd等命令管理用户和组,如usermod -ag添加用户到附加组,newgrp可临时启用新组权限。这些方法共同实现对用户权限结构的完整管理。

在Linux或Unix-like系统里,想知道一个用户到底归属于哪些群组,
groups
id
要查看用户所属的组,最直接且常用的就是
groups
id
groups
groups
它会列出当前用户所加入的所有组名。比如,你可能会看到
youruser adm cdrom sudo dip plugdev lpadmin sambashare
如果你需要查看特定用户的组信息,只需在
groups
groups username
例如,要看
testuser
groups testuser
而
id
不带任何参数执行
id
id
输出通常是这样的格式:
uid=1000(youruser) gid=1000(youruser) groups=1000(youruser),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),119(lpadmin),128(sambashare)
要查看特定用户的
id
id username
比如,
id testuser
id
id -un
id -gn
id -gn
groups
id -gn
这块内容,我发现不少初学者会混淆,觉得只要在一个组里就行。但主组和附加组的差异,其实挺关键的。
每个用户在创建时都会被分配一个“主组”(Primary Group)。这个主组的ID就是
id
gid
john
john
而“附加组”(Supplementary Groups)则是用户除了主组之外,额外加入的其他组。一个用户可以同时属于多个附加组。这些附加组赋予用户访问特定资源或执行特定操作的权限。例如,用户加入
sudo
sudo
docker
sudo
简而言之,主组是用户身份的一部分,影响默认的文件创建行为;附加组则是用户额外获得的权限集合。
我遇到过不止一次这样的情况,明明把用户加到新组了,
groups
当你通过
usermod -aG newgroup username
所以,如果你刚刚把用户
testuser
newgroup
testuser
groups
newgroup
testuser
groups
id
如果不想重新登录,但又想在当前会话中临时使用新组的权限,可以尝试使用
newgrp
newgrp newgroup
newgroup
newgroup
newgrp
当然,光看是不够的,很多时候我们还需要修改用户或组的属性。说起来,这些命令其实都是在操作系统底层那些配置文件,比如
/etc/passwd
/etc/group
要管理用户和组,我们主要会用到以下一些命令:
usermod
usermod -aG newgroup username
gpasswd -d username groupname
usermod -G
usermod -g new_primary_group username
useradd
useradd -g primary_group -G supplementary_group1,supplementary_group2 username
userdel
groupadd
groupadd new_team
groupdel
gpasswd
gpasswd -d
gpasswd -a username groupname
usermod -aG
gpasswd -a
这些命令共同构成了Linux/Unix系统用户和组管理的核心工具集,熟练掌握它们对于系统管理员来说是基本功。
以上就是如何查看用户所属组 groups和id命令解析的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号