一.主组和附加组概念
主组:在/etc/passwd文件中的第4列(GID)对应的组,通常在用户创建的时候就已经确定。
附加组:在/etc/group的最后一列表示该组的附加组,用于指定用户的附加权限。即该用户拥有哪些权限。
二.id命令的使用
id
uid=1000(python),gid=1000(python),组=1000(python),5(adm),27(sudo)
只输入一个id不指定用户则表明是查看当前的用户
第一个uid是用户标识,第二个gid是用户的主组表标识,由于python用户在创建的时候没有指定所在组,所以系统会自动建立和用户名同名的一个组名,所以在这里看到用户名和组名都是python,第三列的groups代表着用户的主组,表明当前的用户主组是root组,后面的信息是该用户的附加组,用来指定该用户有哪些附加权限。
三。使用cat命令查询/etc/group文件查看组信息
cat -n /etc/group 结果显示(Linux中显示):
加了-n选项就会在显示信息之前加上行号,其中后三行是我新建的组,分别是dex,dashuaige,xiaosshuaige,后面的1000,1001,1002,1003分别代表三个组的主组标识,每行最后冒号后面接的就是这个组的附加组。本图中的41行xiaosshuaige组后面就没有用户,表明该组不是某个用户的附加组,没有用户可以使用xiaosshuaige组的权限,在使用的时候会出错。
cat -n /etc/group
5 adm:x:4:syslog,python
21 sudo:x:27:python
67 python:x:1000:
先解释某一行的意思,文中的第5行:组名是adm,x代表加密,syslog和python代表的是两个用户,这一行中不同的信息用冒号隔开。看的时候要反过来看,即:某个用户有某个附加组。
例如第21行代表的意思就是:python用户对应的附加组就是sudo,python用户可以利用sudo以root超级用户的身份来执行系统维护相关的操作,拥有短暂的sudo权限(系统管理权限)。
再如第5行代表的意思是:python用户和syslog用户拥有adm这个附加组,这两个用户可以使用adm这个组的权限来执行某些操作。