Linux中的用户组

上一篇 / 下一篇  2010-12-21 13:18:15 / 个人分类:linux&shell编程

  谈一下linux对用户组的添加、修改及删除。对应的命令分别是groupaddgroupmodgroupdellinux下面与用户组相关的文件有:/etc/group/etc/gshadow这两个,其实内容很简单,所以groupaddgroupmodgroupdel也就是对这两个文件进行操作。

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:新建一个用户组,名为chongpiggroupadd也得由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要比前面建的chongpigGID小很多,且小于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

#先查找GID234的用户,更改其初始化用户组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 ~]#

总结及唠叨:

写完用户的添加修改,再写用户组的,果然快了不少,最起码不用介绍很多东西,一些常识都在前面的文章中提到了,很是欣慰。呵呵。但是要记住,删除用户和删除用户组都要小心再小心。如果删除失败要查找原因。嗯。认真查找。


TAG:

 

评分:0

我来说两句

Open Toolbar