谈一下
linux对用户组的添加、修改及删除。对应的命令分别是
groupadd、
groupmod和
groupdel。
linux下面与用户组相关的文件有:
/etc/group和
/etc/gshadow这两个,其实内容很简单,所以
groupadd、
groupmod和
groupdel也就是对这两个文件进行操作。
groupadd语法格式:
名称
groupadd –建 立 新 群 组
语法
groupadd [-g gid [-o]] [-r] [-f] group
groupadd参数浅谈:
类型 | 描述 |
-g | 接group’s ID除非使用-o参数不然该值必须是唯一,不可相同且不能为负,预设为最小不得小于500而逐次增加。0~999传统上是保留 给 系统帐号使用。 |
-r | 此参数是用来建立系统用户组。GID会比定义在/etc/login.defs.的GID_MIN小。 |
-f | RED HAT额外增加的参数,加上此参数后,-g后面指定的GID如果已经存在的话会提示错误信息。 |
groupadd示例及说明:
示例1:新建一个用户组,名为chongpig,groupadd也得由root权限的账号来执行,且其是不允许登录的,注意看/etc/gshadow中第二栏,密码同样带有!
#创建好后可以看到/etc/group /etc/gshadow内已经存在该组
[root@xiaoxiaozi ~]# groupadd chongpig
[root@xiaoxiaozi ~]# grep chongpig /etc/group /etc/gshadow
/etc/group:chongpig:x:890:
/etc/gshadow:chongpig:!::
示例2:建立系统用户组,用户组名为chongpig2,可以发现其GID要比前面建的chongpig的GID小很多,且小于500
#注意看新用户组的GID
[root@xiaoxiaozi ~]# useradd -r chongpig2
[root@xiaoxiaozi ~]# grep chongpig2 /etc/group /etc/gshadow
/etc/group:chongpig2:x:483:
/etc/gshadow:chongpig2:!::
groupmod语法格式:
和刚才介绍的usermod一样,groupmod自然就是修改用户组信息的命令,其语法结构如下:
名称
groupmod –修 改 群 组
语法
groupmod [-g gid [-o]] [-n group_name] group
groupmod参数浅谈:
类型 | 描述 |
-g | 修改用户组ID,新GID必须保证在系统中唯一 |
-n | name单词的缩写,意义就是更改用户组的名字 |
groupmod示例及说明:
示例1:更改刚建立的系统用户组chongpig2,将其用户组id改为234,同时改变用户组名称为chongpig3
[root@xiaoxiaozi ~]# groupmod -g 234 -n chongpig3 chongpig2
[root@xiaoxiaozi ~]# grep chongpig3 /etc/group /etc/gshadow
/etc/group:chongpig3:x:234:
/etc/gshadow:chongpig3:!::
注意:如无特殊需要不要改变用户组id,尤其是有用户属于该用户组的情况下,会引起系统资源的混乱,切 忌。
groupdel语法格式:
聪明的你肯定猜到这个命令的作用了,没错,这个就是删除用户组的命令,与userdel一样,使用的时候一定要小心,小心哈。 呵呵。
名称
groupdel –删除群组
语法
groupdel group
groupdel示例及说明:
因为此命令只需要提供用户组名称即可,所以很是简单,也不用介绍其参数,真是方便啊。呵呵。
示例1:删除用户组chongpig,这是一个普通的用户组,且没有用户
[root@xiaoxiaozi ~]# groupdel chongpig
[root@xiaoxiaozi ~]# grep chongpig /etc/group /etc/gshadow
/etc/group:chongpig3:x:234:
/etc/gshadow:chongpig3:!::
示例2:删除用户组chongpig3,这是一个系统用户组
[root@xiaoxiaozi ~]# groupdel chongpig3
groupdel:不能删除用户的主组。
[root@xiaoxiaozi ~]# grep chongpig3 /etc/group /etc/gshadow
/etc/group:chongpig3:x:234:
/etc/gshadow:chongpig3:!::
为何chongpig可以删除,chongpig3就不能删除呢?这是因为“有某个账号/etc/passwd的初始化用户组使用该用户组“,咱可 以通过GID来查一下看哪个用户在以此用户组为初始化用户组,肯定是有用户存在的,这样当然不会让你删除该用户组。否则该用户登录系统后,找不到GID, 会造成很大的困扰, 如果要删除该用户组,“必须要确认/etc/passwd内的账号没有任何人使用该用户 组作为初始化用户组“,所以可以:先修改使用此用户组为初始化用户组的账号的GID,再删除其用户组。
示例3:删除有初当作初始化用户组的组chongpig3
#先查找GID为234的用户,更改其初始化用户组id
[root@xiaoxiaozi ~]# grep 234 /etc/passwd
chongpig2:x:489:234::/home/chongpig2:/bin/bash
#把chongpig2用户的初始化用户组改为simaopig
[root@xiaoxiaozi ~]# usermod -g simaopig chongpig2
[root@xiaoxiaozi ~]# grep 234 /etc/passwd
[root@xiaoxiaozi ~]# grep chongpig2 /etc/passwd
chongpig2:x:489:500::/home/chongpig2:/bin/bash
#删除用户组chongpig3
[root@xiaoxiaozi ~]# groupdel chongpig3
[root@xiaoxiaozi ~]# grep chongpig3 /etc/group /etc/gshadow
[root@xiaoxiaozi ~]#
总结及唠叨:
写完用户的添加修改,再写用户组的,果然快了不少,最起码不用介绍很多东西,一些常识都在前面的文章中提到了,很是欣慰。呵呵。但是要记住,删除用户和删除用户组都要小心再小心。如果删除失败要查找原因。嗯。认真查找。