当前位置:文档之家› Linux用户权限管理之二(用户管理工具)

Linux用户权限管理之二(用户管理工具)

Linux用户权限管理之二(用户管理工具)一.添加、切换、删除用户组命令groupadd/newgrp/groupdel1.groupadd命令用来新建一个用户组。

语法格式为:groupadd [-g gid [-o]] [-r] [-f] group各个选项具体含义如下:-g:指定新建用户组的GID号,该GID号必须唯一,不能和其它用户组的GID号重复。

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

-n group_name:修改用户组名为group_name例如:创建一个linuxfans的用户组和一个fanslinux用户组,GID分别为1020和1030 [root@localhost ~]# groupadd -g 1020 linuxfans[root@localhost ~]# groupadd -g 1030 fanslinux[root@localhost ~]# more /etc/group|grep linuxfanslinuxfans:x:1020:[root@localhost ~]# more /etc/group|grep fanslinuxfanslinux:x:1030:思考:如果实现下列两个命令1:现在如果我想再创建一个组,组名为abc,gid为10302.newgrp命令如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限,newgrp主要用于在多个用户组之间进行切换,语法格式为:newgrp <用户组>例子:下面通过实例讲述newgrp的用法:首先建立了3个用户组group1、group2和group3.[root@localhost ~]# groupadd group1[root@localhost ~]# groupadd group2[root@localhost ~]# groupadd group3下面创建了一个用户user1,同时指定user1的主用户组为group1,附加用户组为group2和group3[root@localhost ~]# useradd -g group1 -G group2,group3 user1[root@localhost ~]# more /etc/group|grep user1group2:x:501:user1group3:x:502:user1下面是对用户user1设置密码[root@localhost ~]# passwd user1Changing password for user user1.New UNIX password:Retype new UNIX password:passwd: all authentication tokens updated successfully.下面是切换到user1用户下,通过newgrp切换用户组进行的一系列操作,从中可以看出newgrp的作用。

[root@localhost ~]# su - user1[user1@localhost ~]$ whoami #查看当前登录系统的用户名user1[root@localhost ~]# finger user1 #查看当前用户的信息[root@localhost ~]# groups user1 #查看当前用户所属的组[root@localhost ~]# pwd #查看当前在系统中的位置[user1@localhost ~]$ mkdir user1_doc #建立一个文件[user1@localhost ~]$ newgrp group2 #切换组[user1@localhost ~]$ mkdir user2_doc #建立一个文件[user1@localhost ~]$ newgrp group3 #切换组[user1@localhost ~]$ mkdir user3_doc #建立一个文件[user1@localhost ~]$ ll #查看文件的详细属性total 12drwxr-xr-x 2 user1 group1 4096 Oct 24 01:18 user1_docdrwxr-xr-x 2 user1 group2 4096 Oct 24 01:18 user2_docdrwxr-xr-x 2 user1 group3 4096 Oct 24 01:19 user3_doc[user1@localhost ~]$3.groupdel命令表示删除用户组,语法格式为:groupdel [群组名称]当需要从系统上删除用户组时,可用groupdel指令来完成这项工作。

如果该用户组中仍包括某些用户,则必须先删除这些用户后,然后才能删除用户组。

例如:删除linuxfans这个用户组[root@localhost ~]# groupdel linuxfans二. 添加、修改和删除用户命令useradd/usermod/userdel1.useradd建立用户的过程useradd不加任何参数创建用户时,系统首先读取添加用户配置文件/etc/login.defs和/etc/default/useradd,根据这两个配置文件中定义的规则添加用户,然后会向/etc/passwd 和/etc/group文件添加用户和用户组记录,同时/etc/passwd和/etc/group对应的加密文件也会自动生成记录,接着系统会自动在/etc/default/useradd文件设定的目录下建立用户主目录,最后复制/etc/skel目录中的所有文件到新用户的主目录中,这样一个新的用户就建立完成了。

2.useradd的使用语法useradd语法的一般格式为:useradd [-u uid [-o]] [-g group] [-G group,...][-d home] [-s shell] [-c comment][-f inactive] [-e expire ] name各个选项具体含义如下:-u uid:即用户标识号,此标识号必须唯一。

-g group:指定新建用户登录时所属的默认组,或者叫主组。

此群组必须已经存在。

-G group:指定新建用户的附加组,此群组必须已经存在。

附加组是相对与主组而言的,当一个用户同时是多个组中的成员时,登录时的默认组成为主组,而其它组称为附加组。

-d home:指定新建用户的默认主目录,如果不指定,系统会在/etc/default/useradd 文件指定的目录下创建用户主目录。

-s shell:指定新建用户使用的默认shell,如果不指定,系统以/etc/default/useradd 文件中定义的shell作为新建用户的默认shell。

-c comment:对新建用户的说明信息。

-f inactive:指定帐号过期多长时间后永久停用。

当值为0时帐号则立刻被停权。

而当值为-1时则关闭此功能,预设值为-1-e expire:指定用户的帐号过期时间,日期的指定格式为MM/DD/YY。

name:指定需要创建的用户名。

3.usermod的使用语法usermod用来修改用户的账户属性信息,使用语法如下:usermod [-u uid [-o]] [-g group] [-G group,...][-d 主目录 [-m]] [-s shell] [-c 注释] [-l 新名称][-f 失效日期] [-e 过期日期][-L|-U] Name各个选项具体含义如下:-u uid:指定用户新的UID值,此值必须为唯一的ID值,除非用-o选项。

-g group:修改用户所属的组名为新的用户组名,此用户组名必须已经存在。

-G group:修改用户所属的附加组。

-d 主目录:修改用户登录时的主目录。

-s shell:修改用户登录系统后默认使用的shell-c 注释:修改用户的注释信息。

-l 新名称:修改用户帐号为新的名称。

-f 失效日:帐号过期多少天后永久禁用。

-e 过期日:增加或修改用户账户的过期时间。

-L:锁定用户密码,使密码无效。

-U:解除密码锁定。

Name:要修改属性的系统用户。

4.userdel的使用语法Userdel用来删除一个用户,若指定“-r”参数不但删除用户,同时删除用户的主目录以及目录下的所有文件。

语法格式为:userdel [-r][用户帐号]5.应用举例1)添加一个用户mylinux,指定所属的主用户组为fanslinux,附加用户组为linuxfans,同时指定用户的默认主目录为/opt/mylinux[root@localhost ~]# useradd -g fanslinux -G linuxfans -d /opt/mylinux mylinux #添加一个用户mylinux,指定所属的主用户组为fanslinux,附加用户组为linuxfans,同时指定用户的默认主目录为/opt/mylinux[root@localhost ~]# #切换到用户mylinux[root@localhost ~]# #返回当前用户的户主目录[root@localhost ~]# #查看自己此时自己的位置[root@localhost ~]# #返回root用户[root@localhost ~]# more /etc/passwd|grep mylinux #用more和grep命令查看用户信息文件,过滤出mylinux用户mylinux:x:523:1030::/opt/mylinux:/bin/bash[root@localhost ~]# more /etc/group|grep mylinux#用more和grep命令查看用组文件,过滤出mylinux用户linuxfans:x:1020:mylinux2)添加一个用户test_user,指定UID为686,默认的shell为/bin/csh,让其归属为用户组linuxfans和fanslinux,同时添加对此用户的描述,[root@localhost ~]# useradd -u 686 -s /bin/csh -G linuxfans,fanslinux -c "This is test user" test_user #添加一个用户test_user,指定UID为686,默认的shell为/bin/csh,让其归属为用户组linuxfans和fanslinux,同时添加对此用户的描述[root@localhost ~]# #查看text_user的用户基本信息[root@localhost ~]# #查看text_user的组信息[root@localhost ~]# more /etc/passwd|grep test_usertest_user:x:686:686:This is test user:/home/test_user:/bin/csh[root@localhost ~]# more /etc/group|grep test_userfanslinux:x:1030:test_userlinuxfans:x:1020:mylinux,test_usertest_user:x:686:3)修改用户test_user的主用户组为新建的组test_group1,同时修改test_user的附加组为linuxfans和root,最后修改test_user的默认登录shell为/bin/bash[root@localhost ~]# groupadd test_group1 #添加一个新的用户组test_group1[root@localhost ~]# more /etc/group|grep test_group1 #查看test_group1组的用户的信息test_group1:x:1031:[root@localhost ~]# usermod -g test_group1 -G linuxfans,root -s /bin/bash test_user #修改用户test_user的主用户组为新建的组test_group1,同时修改test_user的附加组为linuxfans和root,最后修改test_user的默认登录shell为/bin/bash[root@localhost ~]# more /etc/passwd|grep test_user #从passwd可以知道用户属性已经更改test_user:x:686:1031:This is test user:/home/test_user:/bin/bash[root@localhost ~]# more /etc/group|grep test_user #从输出可知,用户组的属性也同步更改root:x:0:root,test_userlinuxfans:x:1020:mylinux,test_usertest_user:x:686:4)如何锁定、解除用户密码下面首先对test_user和mylinux用户设置密码[root@localhost ~]# passwd test_userChanging password for user test_user.New UNIX password:Retype new UNIX password:passwd: all authentication tokens updated successfully.[root@localhost ~]# passwd mylinuxChanging password for user mylinux.New UNIX password:Retype new UNIX password:passwd: all authentication tokens updated successfully.下面的操作是通过su命令切换到mylinux用户下,然后在mylinux下再次切换到test_user 用户下,这里的切换用户是为了说明一个问题:从超级用户root切换到普通用户下,是不需要输入普通用户密码的,系统也不会去验证密码。

相关主题