- /etc/group 文件结构
这个文件就是在记录 GID 与组名的对应了~鸟哥测试机的 /etc/group 内容有点像这样:
[root@www ~]# head -n 4 /etc/group root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm |
这个文件每一行代表一个群组,也是以冒号『:』作为字段的分隔符,共分为四栏,每一字段的意义是:
- 组名:
就是组名啦!
- 群组口令:
通常不需要配置,这个配置通常是给『群组管理员』使用的,目前很少有这个机会配置群组管理员啦!同样的,口令已经移动到 /etc/gshadow 去,因此这个字段只会存在一个『x』而已;
- GID:
就是群组的 ID 啊。我们 /etc/passwd 第四个字段使用的 GID 对应的群组名,就是由这里对应出来的!
- 此群组支持的账号名称:
我们知道一个账号可以加入多个群组,那某个账号想要加入此群组时,将该账号填入这个字段即可。举例来说,如果我想要让 dmtsai 也加入 root 这个群组,那么在第一行的最后面加上『,dmtsai』,注意不要有空格,使成为『 root:x:0:root,dmtsai 』就可以啰~
[root@www ~]# usermod -G users dmtsai <==先配置好次要群组 [root@www ~]# grep dmtsai /etc/passwd /etc/group /etc/gshadow /etc/passwd:dmtsai:x:503:504::/home/dmtsai:/bin/bash /etc/group:users:x:100:dmtsai <==次要群组的配置 /etc/group:dmtsai:x:504: <==因为是初始群组,所以第四字段不需要填入账号 /etc/gshadow:users:::dmtsai <==次要群组的配置 /etc/gshadow:dmtsai:!::
仔细看到上面这个表格,在 /etc/passwd 里面,dmtsai 这个使用者所属的群组为 GID=504 ,搜寻一下 /etc/group得到 504 是那个名为 dmtsai 的群组啦!这就是 initial group。因为是初始群组,使用者一登陆就会主动取得,不需要在 /etc/group 的第四个字段写入该账号的!
但是非 initial group 的其他群组可就不同了。举上面这个例子来说,我将 dmtsai 加入 users这个群组当中,由于 users 这个群组并非是 dmtsai 的初始群组,因此,我必须要在 /etc/group 这个文件中,找到 users 那一行,并且将 dmtsai 这个账号加入第四栏,这样 dmtsai 才能够加入 users 这个群组啊。
那么在这个例子当中,因为我的 dmtsai 账号同时支持 dmtsai 与 users 这两个群组,因此,在读取/写入/运行文件时,针对群组部分,只要是 users 与 dmtsai 这两个群组拥有的功能,我 dmtsai 这个使用者都能够拥有喔!这样瞭呼?不过,这是针对已经存在的文件而言,如果今天我要创建一个新的文件或者是新的目录,请问一下,新文件的群组是 dmtsai 还是 users ?呵呵!这就得要检查一下当时的有效群组了 (effective group)。