/etc/group
文件结构
这个文件的每一行代表一个用户组,以冒号分隔各个字段。共有4个字段,分别是:
- 用户组名称
- 用户组密码:通常不需要设置,这个设置通常是给“用户组管理员”是用的。
- GID:用户组ID
- 此用户支持的账号名称:一个账号可以加入多个用户组,如果某个用户想要加入某个用户组,只需将该用户的用户名添加进这个字段中。
有效用户组和初始用户组
在/etc/passwd
中用户对应的那一行的第4个字段,就是所谓的初始用户组。也就是说,当用户登录系统,立刻就拥有这个用户组的相关权限。
但是如果不是初始用户组,则必须要在/etc/group
对应的某一行的第4个字段中添加用户名,才能把该用户添加进该用户组。
如果一个账号同时在多个用户组内,那如果该用户新建一个新的文件或目录时,新文件的组是哪个呢?这个就跟当时的有效用户组有关了。
查看有效和支持的用户组:groups
想要知道用户自己当前的有效用户组和支持的用户组,使用groups
即可。
在这个输出的信息中,第一个输出的用户组就是当前的有效用户组了。
切换有效用户组:newgrp
使用newgrp
命令可以切换有效用户组,注意只能切换当前账号支持的用户组。
假设当前用户支持“test”和“foo”这两个用户组。那么newgrp test
和newgrp foo
是有效的。其他的都是无效的。
这个命令是以另外一个shell来提供这个功能的,换句话说,用户使用了另一个shell来登录,而且新的shell给予该用户的有效GID是新切换的用户组。
由于是新取得一个shell,因此如果想回到原来的shell,则需要输入exit
。