首先了解一下
*****************
/etc/group文件当中每行的具体含义:
eg: sudo:x:27:jiangjian
1:组用户名
2:密码用x替代,真正的密码在/etc/gshadow
3:用户组ID
4:组成员列表
*****************
/etc/gshadow文件每行的具体含义
root@jiangjian-K42JZ:/etc# cat /etc/gshadow
root:*::visitor1
daemon:*::
bin:*::
sys:*::
adm:*::jiangjian
1:用户组名
2:用户组密码,加密存储
3:用户组的管理员帐号
4:组成员列表
Content
1 组的创建
groupadd [-g gid] [-r] 组名
选项与参数:-g :后面接某个特定的 GID ,用来直接给予某个 GID ~
-r :创建系统群组啦!与 /etc/login.defs 内的 GID_MIN 有关。
root@jiangjian-K42JZ:/etc# groupadd -g 1200 newgroup
root@jiangjian-K42JZ:/etc# grep newgroup /etc/group
newgroup:x:1200:
root@jiangjian-K42JZ:/etc#
root@jiangjian-K42JZ:/etc# groupadd -r newgroup1
root@jiangjian-K42JZ:/etc# grep newgroup1 /etc/group
newgroup1:x:999:
root@jiangjian-K42JZ:/etc# groupadd -g 888 -r newgroup2
root@jiangjian-K42JZ:/etc# grep newgroup2 /etc/group
newgroup2:x:888:
root@jiangjian-K42JZ:/etc#
2 修改组的信息
groupmod [-g gid] [-n group_name] 群组名
选项与参数:
-g :修改既有的 GID 数字;
-n :修改既有的组名
root@jiangjian-K42JZ:/etc# groupmod -g 1201 newgroup
root@jiangjian-K42JZ:/etc# grep newgroup /etc/group
newgroup:x:1201:
newgroup1:x:999:
newgroup2:x:888:
root@jiangjian-K42JZ:/etc# groupmod -n newgroup0 newgroup
root@jiangjian-K42JZ:/etc# grep newgroup /etc/group
newgroup1:x:999:
newgroup2:x:888:
newgroup0:x:1201:
root@jiangjian-K42JZ:/etc#
3 删除组
groupdel [组名]
root@jiangjian-K42JZ:/etc# grep newgroup /etc/group
newgroup1:x:999:
newgroup2:x:888:
newgroup0:x:1201:
root@jiangjian-K42JZ:/etc# groupdel newgroup2
root@jiangjian-K42JZ:/etc# grep newgroup /etc/group
newgroup1:x:999:
newgroup0:x:1201:
root@jiangjian-K42JZ:/etc#
这里存在一个问题如果组被定义为某个用户的初始用户组,则这时候使用这个命令就无法删除,可以通过一下里两个方式来删除组 1 修改用户的初始用户组 2 删除引用的用户
root@jiangjian-K42JZ:/etc# grep newgroup /etc/group
newgroup1:x:999:
newgroup0:x:1201:
root@jiangjian-K42JZ:/etc# useradd -g newgroup1 visitor2
root@jiangjian-K42JZ:/etc# grep visitor2 /etc/passwd
visitor2:x:1007:999::/home/visitor2:/bin/sh
root@jiangjian-K42JZ:/etc# groupdel newgroup1
groupdel: cannot remove the primary group of user 'visitor2'
root@jiangjian-K42JZ:/etc# userdel visitor2
root@jiangjian-K42JZ:/etc# groupdel newgroup1
root@jiangjian-K42JZ:/etc# grep visitor /etc/group
root:x:0:root,jiangjian,visitor1
visitor:x:1005:
root@jiangjian-K42JZ:/etc#
4 组管理员
如何设置组管理员:
gpasswd groupname
gpasswd [-A user1,...] [-M user3,...] groupnamegpasswd [-rR] groupname
选项与参数:
:若没有任何参数时,表示给予 groupname 一个口令(/etc/gshadow)
-A :将 groupname 的主控权交由后面的使用者管理(该群组的管理员)
-M :将某些账号加入这个群组当中!
-r :将 groupname 的口令移除
-R :让 groupname 的口令栏失效
root@jiangjian-K42JZ:/etc# grep visitor /etc/gshadow
root:*::visitor1
visitor:::
root@jiangjian-K42JZ:/etc# gpasswd visitor
Changing the password for group visitor
New Password:
Re-enter new password:
root@jiangjian-K42JZ:/etc# grep visitor /etc/gshadow
root:*::visitor1
visitor:$6$aGESYrq1NL/Id$1vP5hL4JZACxQulfhd22/RHo4Tp2u5TDAgg9UX1d8scAHLlp0/tsqEzUEGqhE3CsFCnZrZemZfICqMFmxibzz1::
root@jiangjian-K42JZ:/etc# gpasswd -R visitor
root@jiangjian-K42JZ:/etc# grep visitor /etc/gshadow
root:*::visitor1
visitor:!::
root@jiangjian-K42JZ:/etc# gpasswd -A root visitor
root@jiangjian-K42JZ:/etc# grep visitor /etc/gshadow
root:*::visitor1
visitor:!:root:
root@jiangjian-K42JZ:/etc# gpasswd -M jiangjian visitor
root@jiangjian-K42JZ:/etc# grep visitor /etc/gshadow
root:*::visitor1
visitor:!:root:jiangjian
root@jiangjian-K42JZ:/etc#
*******************
组管理员的操作:
gpasswd [-ad] user groupname
选项与参数:
-a :将某位使用者加入到 groupname 这个群组当中!
-d :将某位使用者移除出 groupname 这个群组当中。
root@jiangjian-K42JZ:/etc# grep visitor /etc/gshadow
root:*::visitor1
visitor:!:root:jiangjian
root@jiangjian-K42JZ:/etc# gpasswd -A jiangjian visitor
root@jiangjian-K42JZ:/etc# su jiangjian
jiangjian@jiangjian-K42JZ:/etc$ gpasswd -a jiabin visitor
正在将用户“jiabin”加入到“visitor”组中
jiangjian@jiangjian-K42JZ:/etc$ gpasswd -d jiabin visitor
正在将用户“jiabin”从“visitor”组中删除
jiangjian@jiangjian-K42JZ:/etc$
读者朋友可以到 http://vbird.dic.ksu.edu.tw/linux_basic/0410accountmanager.php 了解更多细节