如何列出UNIX用户所属的组?


79

使用“ pts m groupname我”可以列出组中的用户。我该如何做相反的工作-即列出用户所属的所有组?

(我需要用它来查找我认识的用户所属组的名称,但我不知道该组的名称...)

澄清:
由于我不是系统管理员,而且我没有超级用户权限,因此这个问题变得很复杂。相反,我是一组“主持人”的成员,这些人负责管理系统的一小部分-具体来说,是我大学中央IT系统中学生会的物理分支。

在我们的分支机构中,我们为负责事务的人员提供了许多不同的访问组。在这种情况下,负责某事(无关紧要什么)的两个人之一被替换了,而我一直在寻找另一位用户,以找出我应该给予替换的访问权限。

现在,我可以通过检查文件夹以查看谁有权访问,然后从列表中选择组来解决当前的问题(新家伙无法访问文件夹)。但是,该用户可能会有更多我不知道的特权,因此,这个问题对我来说仍然很重要,尽管不是那么尖锐。

Answers:


105

您还可以使用以下groups命令:

[root @ ftp〜]#组root
root:root bin守护程序sys adm磁盘轮

如果所有其他方法都失败了,那么也有很好的旧方法grep

[root @ ftp〜]#grep根/ etc / group
根:x:0:根
bin:x:1:root,bin,daemon
守护程序:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
磁盘:x:6:root
wheel:x:10:root,admin

1
grep ^root: /etc/group可能会更好。
丹尼斯·威廉姆森

不,不是这样,因为它仅列出了组之一,而root是其中的一员,可能还带有一点点awk :) grep root / etc / group | awk -F:'{print $ 1}'
matthias krull

3
检查/ etc / group听起来不错,但是如果您的系统使用的是集中式目录(NIS,LDAP,ActiveDirectory 、?),则无法在其中找到完整的组列表。该文件中只有本地组定义。
Slartibartfast

该命令groups kcz仅提供给我usr,尽管我知道该用户是名为的组的成员fkm。什么东西少了?
Tomas Aschan

不确定,请/etc/group粘贴您的@Tomas。
约翰T

28
$ id [username]

$: Command not found”。
Tomas Aschan

8
$代表命令提示。开始输入id
锥杀手

仍然给我的uid=[five digits](kcz) gid=30(usr)
收益

它显示了uid = gid = groups =,所以我得到的第三件事是用户所属的组列表。
MKJ'9

6

找到了-后来,但我做到了!=)

就像

$>pts m [group name]

列出组中的所有成员,

$>pts m [user name]

列出用户所属的所有组。太简单了:P


3
pts不是标准命令。
user2284570 2015年

1
@ user2284570:也许不是。但是问题中明确指出(实际上,第一件事就是语法突出显示),它pts是这个问题所关注的。
Tomas Aschan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.