这里讲解Linux中的有效用户组和初始用户组

1、/etc/group文件的结构

Linux,Linux用户组

2、/etc/group文件中内容说明

1段是账户名,与/etc/passwd文件中的1段匹配

2段是组密码,一般不需要设置

3段是GID

4段是该group中的成员列表,中间用英文的逗号分隔

例如,默认的mail组中有2个用户mail和postfix

Linux,Linux用户组

3、查询oracle用户在passwd,shadow,group文件中的内容

Linux,Linux用户组

4、本测试机上,命令grep /etc/passwd /etc/shadow /etc/group运行结果如下:

复制内容到剪贴板
  1. /etc/passwd:oracle:x:54321:54321::/home/oracle:/bin/bash   
  2.   
  3. /etc/shadow:oracle:$6$yxkNIulf$nYTPPqi/VgXFh5QdH4yZAHAB5NMz7CimNITDUUpUPKZYr0.m.KrZNcfkDX16O3C9puotrCMH2IKY5Kjfl.blh/:16785:0:99999:7:::   
  4.   
  5. /etc/group:dba:x:54322:oracle  

Linux,Linux用户组

5、有效用户组(effective group)和初始用户组(initial group),这个初始用户组权限对系统启动前已经存在的文件,按照初始用户组的权限处理,passwd文件中的第4段就是初始用户组,用户登录系统就有该组的权限

Linux,Linux用户组

6、有效用户组(effective group)

如果是系统启动以后新建的文件,权限是继承初始用户组还是有效用户组呢?Linux规定是有效用户组如何查询当前用户的有效用户组呢?

##使用groups命令,注意,这里是group+s

##注意,如果groups命令有多个输出,则第一个输出是有效用户组。

Linux,Linux用户组

7、如何修改当前用户的有效用户组呢?

使用newgrp+组名称

#如果当前用户是root,如果输入命令:newgrp users

#修改当前用户root的有效用户组

#则使用groups用户输出的结果是

users root

Linux,Linux用户组