http://hi.baidu.com/jnf009/item/2566fa62b1212697c4d24907
http://blog.sina.com.cn/s/blog_66f7ea230100izn2.html
groups 查看当前登录用户的组内成员
groups gliethttp 查看gliethttp用户所在的组,以及组内成员
whoami 查看当前登录用户名
/etc/group文件包含所有组
/etc/shadow和/etc/passwd系统存在的所有用户名
1、/etc/group 解说;
/etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用 户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件 的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的;
用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去,
2、/etc/group 内容具体分析
/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:
group_name:passwd:GID:user_list
在/etc/group 中的每条记录分四个字段:
第一字段:用户组名称;
第二字段:用户组密码;
第三字段:GID
第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;
useradd option username
-g
-G
linux下删除某个组下的某个用户(删除用户的附加组)
一、在LINUX下我们都知道,一个用户可以属于多个用户组,让用户属于多个用户组,我们可以有多种实现方法,如下:
1、假设系统已经存在testGroup1,testGroup2两个用户组,现在要新增一个用户testUser1,同时让testUser1属于testGroup1,testGroup2两个用户组
useradd -G testGroup1,testGroup2 testUser1
2、假设系统已经存在testGroup1,testGroup2两个用户组和一个用户testUser1,现在要把testUser1加到testGroup1,testGroup2两个用户组中
usermod -a -G testGroup1,testGroup2 testUser1
或者
usermod -a -G testGroup1 testUser1
usermod -a -G testGroup2 testUser1
注意:这里必须要加上-a这个参数,表示追加组的意思,如果不加-a,比如执行usermod -G testGroup1,testGroup2 testUser1,那 testUser1就只除了 testUser1组外,就只剩下 testGroup1,testGroup2两个组,如果是个新的用户还无所谓,那假设testUser1以前还属于ftp和root组,执行usermod -G testGroup1,testGroup2 testUser1命令以后,testUser1这时已经不属于ftp和root组了。
二、用户属于多个组,那怎么修改用户的附加组呢?或者怎么把用户从某个组中删除?也有多种实现方法,如下:
假设testUser1用户现在属于testUser1,testGroup1,testGroup2,testGroup3,testGroup4组
1、usermod -G "" testUser1
这是清空用户testUser1所有的追加组,执行该命令以后testUser1只属于testUser1这个默认组,不管testUser1以前有多少个附加组。
2、gpasswd -d testUser1 testGroup2
删除用户testUser1的testGroup2所属组,即把用户testUser1从testGroup2 组中剔除,执行以后用户testUser1属于testUser1,testGroup1,testGroup3,testGroup4组,注意,gpasswd -d只能一个组一个组操作,如果要删除多个组则只能操作多次
3、usermod -G testGroup2,testGroup3 testUser1
让用户testUser1的附加组变成testUser1,testGroup1,testGroup4,这个命令有点类似usermod -G "" testUser1,只不过usermod -G "" testUser1是清空,而usermod -G testGroup2,testGroup3 testUser1 则是把 testGroup2,testGroup3以外的组清空,而保留testGroup2,testGroup3。因为gpasswd -d 一次只能删除一个,所以用这种方法可以一步直达。
用户账号的管理工作主要包括:用户账号的添加、删减以及修改。
添加用户账户即在系统中创建一个新的帐号,然后给它分配用户号、用户组、主目录以及登录SHELL等资源。
(注:刚添加的用户帐号是被锁定的,无法使用。)
●添加用户帐号
使用命令: useradd
语法如下:
useradd optionusername
其中option如下:
-d
-e
-f
-g
-G
-m
-M
-n
-r
-s
-u
实例:
useradd-d /home/alex -m alex
useradd -s /bin/bash -g group -Gftpuser,root,adm alex
增加用户帐号其实就是在/etc/passwd文件中为新用户添加一条记录,同时更新其他的系统文件(如:/etc/shadow,/etc/group)等。
Linux下提供了集成的系统管理工具userconf,通过它可以对用户帐号进行统一的管理。
●删除用户帐号
使用命令: userdel
删除用户帐号其实就是将/etc/passwd等系统文件中该用户记录删除,必要时还得删除该用户的主目录。
语法如下:
userdel optionusername
常用的option是:-r,作用是连带用户的主目录统统一起删除。
实例:
userdel alex
userdel -r alex
●修改用户帐号
使用命令: usermod
语法如下:
usermodoption username
option:
常用的option包括-c,-d,-m,-g,-G,-s,-u以及-o等,意思同useradd命令中的选项一样,可以为用户指定新的资源值。
除此之外,有些系统可以使用如下option:
-L
usermod -s/bin/ksh -d /home/Alex -g adm alex
2、Linux系统用户组的管理
Linux系统可以对一个用户组中的所有用户进行集中管理。不同的Linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,该用户组在创建用户时同时创建。用户组的管理包括用户组的添加、删减和修改。实际上这些操作都是对/etc/group文件的修改更新。
●增加一个新的用户组使用命令: groupadd
语法如下:
groupadd optiongroupname
可用的option如下:
-o
groupadd group1
groupadd -g 100group2
●删除一个已有的用户组使用命令:groupdel
语法如下:
groupdelgroupname
实例:
groupdelgroup1
●修改用户组的属性使用命令: groupmod
语法如下:
groupmod optiongroupname
常用的option如下:
-o
-n
groupmod -g 105 group2
groupmod -g 111111 -n group3group2
●当一个用户同时属于多个用户组,用户可以在用户组之间进行切换,以便具有其他用户组的权限。用户可以在登录之后,通过命令newgrp切换到其他用户组,该命令的参数就是目标用户组。
实例:
newgrproot
该命令将当前用户切换到root用户组。注:前提条件是root用户组的确是该用户的主组或附加组。