管理用户

原文转载至: http://www.cnblogs.com/ymy124/archive/2012/04/21/2461259.html
     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  一次只能删除一个,所以用这种方法可以一步直达。

1、Linux系统用户账号的管理
用户账号的管理工作主要包括:用户账号的添加、删减以及修改。
添加用户账户即在系统中创建一个新的帐号,然后给它分配用户号、用户组、主目录以及登录SHELL等资源。
(注:刚添加的用户帐号是被锁定的,无法使用。)
●添加用户帐号
使用命令: useradd
语法如下:
useradd optionusername
其中option如下:
-c   comment   指定一段注释性描述
-d   目录     指定用户主目录,如果此目录不存在,则同时使用-m选项来创建主目录。
-e   日期     指定用户帐号使用的截止日期,日期格式为MM/DD/YY。
-f   天数指定用户帐号在过期几日后永久停权。值为0时立即停权,为-1时关闭此功能,默认值为-1。
-g   用户组    指定用户所属的用户组。(主组)
-G   用户组    指定用户所属的附加组。
-m   使用者目录若不存在则自动建立。 如使用-k选项skeleton_dir内的档案将复制至用户目录下。
     且在/etc/skel目录下的档案也会复制过去取代。任何在skeleton_diror或者/etc/skel下的目录也同样
     会在用户目录下一一建立。-k与-m
预设值 不建立目录以及不复制任何档案。
-M   不建立用户目录,即使/etc/login.defs系统档设定要建立用户目录。
-n   预设值用户群组与用户名称会相同。此选项将取消此预设值。
-r   用来建立系统帐号。系统帐号的UID会比定义在系统档上/etc/login.defs.的UID_MIN来的小。
     注意useradd此用法所建立的帐号不会建立使用者目录,也不会在乎/etc/login.defs.上的定义值。
     如果你想要有使用者目录须额外指定-m参数来建立系统帐号。这是REDHAT额外增设的选项。
-s    Shell   指定用户的登录Shell
-u    UID     指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
                注意ID值不能为负值,预设为最小不得小于99而逐次增加。0~99传统上是保留给系统帐号使用。

除此之外,还有一个option: -D用来改变预设值。
实例:
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  新用户名   指定一个新的帐号,即:将原先的用户名改为新的用户名。
-L   锁定用户密码,使密码无效。
实例:
usermod -s/bin/ksh -d /home/Alex -g adm alex


2、Linux系统用户组的管理
Linux系统可以对一个用户组中的所有用户进行集中管理。不同的Linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,该用户组在创建用户时同时创建。用户组的管理包括用户组的添加、删减和修改。实际上这些操作都是对/etc/group文件的修改更新。
●增加一个新的用户组使用命令:
groupadd
语法如下:
groupadd optiongroupname

可用的option如下:
-g   GID   指定新用户组的标识号(GID)。
-o   一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
实例:
groupadd group1
groupadd -g 100group2

●删除一个已有的用户组使用命令:groupdel
语法如下:
groupdelgroupname
实例:
groupdelgroup1

●修改用户组的属性使用命令: groupmod
语法如下:
groupmod optiongroupname

常用的option如下:
-g   GID      为用户组指定新的组标识号。
-o   与-g选项同时使用,指定用户组的新GID可以与系统已有用户组的GID相同。
-n   新用户组   将用户组的名字改为新的用户组名。
实例:
groupmod -g 105 group2
groupmod -g 111111 -n group3group2

●当一个用户同时属于多个用户组,用户可以在用户组之间进行切换,以便具有其他用户组的权限。用户可以在登录之后,通过命令newgrp切换到其他用户组,该命令的参数就是目标用户组。
实例

newgrproot

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值