日期:2014-05-16  浏览次数:20637 次

linux中用户组管理
广义上讲,Linux的账户包括用户账户和组账户2种。
    用户账户,简称用户,组账户简称组。
组是用户的集合,在Red Hat Linux中组有私有组和标准租2种类型。在创建一个新的用户时,若没有指定其所属的组,Red Hat就建立一个和该用户同名的私有组。此私有组这个用户自己。标准组可容纳多个用户,若使用标准组,在创建一个新用户时就应该指定它所属的组。
    从另一个方面讲,同一个用户可同属多个组。当同一个用户可同属多个组时,其登陆后所属的组称为主组,其它的组称为附加组。
   Linux账户系统文件主要有/etc/passwd,/etc/shadow,/etc/group,/etc/gshadow.


查看某个用户所属的组
命令:groups 用户名

例如:[root@xxx~]# groups root
root : root bin daemon sys adm disk wheel

用户root属于root bin daemon sys adm disk wheel这7个group



查看系统中所有组
命令:more /etc/group
例如:[root@xxx~]# groups root
root:x:0:root

bin:x:1:root,bin,daemon

daemon:x:2:root,bin,daemon

sys:x:3:root,bin,adm

adm:x:4:root,adm,daemon

tty:x:5:
  屏幕显示部分结果时,按回车键查看剩余的组数


第一字段:用户组名称;

第二字段:用户组密码;x表示没有设置密码

第三字段:用户组ID GID

第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名



添加组
命令: groupadd 选项 用户组

可以使用的选项有:
-g GID 指定新用户组的组标识号(GID)。

-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

例如:
# groupadd group1
此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
#groupadd -g 101 group2
此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。

创建一个新用户
useradd  用户名
新建一个用户,同时添加到附加组中
useradd -G 用户组 用户名

删除用户
userdel 用户名
删除用户,并删除其自家目录 userdel -r  tom


删除组
命令:groupdel 用户组


修改组
命令:groupmod 选项 用户组

常用的选项有:
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字
例如:
# groupmod -g 102 group2
此命令将组group2的组标识号修改为102。
# groupmod –g 10000 -n group3 group2
此命令将组group2的标识号改为10000,组名修改为group3。



切换用户所属的组
如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:

$ newgrp root

这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。