上期回顾
上一期文章《Who am I》介绍了linux操作系统中用户的作用和用户的管理方法。就如同人类社会一样,有个人也有组织,计算机社会中的用户也可以加入不同的组织,这就是用户组。
用户组
为了方便管理权限相同的一系列用户,可以将这些用户加入一个小组,对这个小组进行管理,就相当于对这一系列用户进行管理,这就是用户组。
首选组
首选组,即用户默认加入的组,在/etc/passwd中所查看到的GID所对应的组,也可以使用命令id进行查看。
最显著的效果就是,当用户执行一个操作时,这个操作除了会被认定是这个用户执行的,同时也会被认定执行组的身份为这个用户的首选组。例如当我们使用命令mkdir创建一个目录的时候,默认情况下该目录的所属人会被设置为创建人,同时用户组也会被设置为创建人的首选组。
从属组
除了首选组以外呢,用户还可以加入一些额外的组,当然加入之后就同时拥有了这个小组相对应的能力,我们可以从文件/etc/groups中查看到这个,同样id命令也可以看到。
如下例,正常情况下我们当前用户对这个文件并没有任何权限,但是呢adminuser这个用户事前被我额外加入了user1这个组,那么adminuser这个用户便对这个文件拥有了读取写入的能力了。
相关文件解析
/etc/group
如下图所属group文件结构,由冒号隔开,一共分为4列。格式如下
组名:密码占位:GID:用户名
关于这个文件前三列都非常好理解,那么最后一列的那个用户名是什么呢?这个用户名呢就与我们之前所提到的从属组相关。第四列这个用户被额外加入了这个组,换句话说就是这个组是这个用户的一个从属组。
相关命令
创建组
groupadd [选项] 组名
选项
-g 指定GID
由于组的可调参数非常少,只用GID一个,所以组的创建非常简单。
修改组
groupmod [选项] 组名
选项
-g 修改gid
-n 修改组名
我们的组的名字是可以修改的,主要用法为“groupmod -n 新名字 旧名字”
删除组
groupdel 组名
删除组的操作十分简单,但是值得注意的是,如果这个组内有用户,那么这个小组是无法删除的
将用户加入额外的组(从属组)
创建新用户时
useradd -G 组名或GID 用户名
修改旧用户
useradd -a -G 组名或GID 用户名
值得注意的,在创建用户时,仅能将用户加入1个从属组。而之后使用修改用户的命令可以将用户加入多个从属组,但是如果不带上选项-a,那么将会替换掉当前的从属组,而不是加入从属组。
后记
合理利用用户和用户组之间的关系,可以十分方便的管理和使用我们的linux系统,当然用户和用户组对系统的管理是离不开权限的设定,那么我们下一期将为大家带来linux中的权限管理,下期见,拜拜!
联系客服