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用户组确实是该用户的主组或附加组。