这是为什么用户不是其私人群组 (UPG) 的成员?尽管第一个问题对于理解这一点来说并不是必需的。
命令id
看起来非常清楚...
test@test ~ $ id test
uid=1000(test) gid=1000(test) groups=1000(test),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),129(sambashare)
它显示了 UID 和 GID test
(分别是它的 UPG),然后另外列出了用户test
所属的所有组。
但那应该怎么/etc/group
读呢?
test@test ~ $ less /etc/group | grep test
adm:x:4:syslog,test
cdrom:x:24:test
sudo:x:27:test
dip:x:30:test
plugdev:x:46:test
lpadmin:x:113:test
test:x:1000:
sambashare:x:129:test
开头的组名非常清楚,数字是 GID;之后列出了组成员的名称。但为什么倒数第二行没有test:x:1000:test
表明 test:x:1000:
用户test
是该组的成员test
?
附加问题:x
第二列中的是做什么的?
答案1
答案就在你的问题里
[id] 显示测试的 UID 和 GID(分别是其 UPG),然后另外列出用户测试所属的所有组。
您所询问的行:
test:x:1000:
test
用户 是test
组 的成员。这在 中定义/etc/passwd
。 中的组/etc/passwd
定义了用户的“主要”组test
。其他或补充组定义在/etc/group
:在这种情况下,用户test
也是、、等的adm
成员。cdrom
sudo
另请参阅
至于“为什么?”,恐怕这可能是 UNIX 标准。也就是说,近 50 年前它就是这样创建的,而且一直都是这样。