LInux用户和组管理详解

一、用户和组的概念

Linux系统是多任务、多用户的分时操作系统。用户要使用系统资源,需要向管理员验证身份,由管理员进行认证和授权,并对用户的行为进行追踪和审计,以保障系统资源的合理分配以及系统的安全。

要达到账号管理的目的,需要对用户和用户组进行管理。下面分别来介绍用户管理和用户组管理。

每个用户都有唯一的一个编号来标识,这个标识号叫Uid,每个用户至少属于一个用户组,用户组使用Gid来进行标识

Linux用户信息按Username/ UID分两类:

       管理员:root,0。管理员具有系统的超级权限,可以进行绝大多数的系统操作。有“管理员即上帝”的说法。所以,在使用管理员进行操作时,对于可能造成系统破坏的操作应加倍小心。

       普通用户:Uid范围是1-65535,普通用户又可以划分为系统用户和登录用户。

            系统用户对守护进程获取资源进行权限分配。

            登录用户采用交互式登录方式登录系统。

            在CentOS6和CentOS7上具体的的划分又有所区别

                     CentOS6:

                            系统用户:1-499

                            登录用户:500+

                     CentOS7:

                            系统用户:1-999

                            登录用户:1000+

Linux组的划分:Groupname/GID

       组的划分与用户的划分相对应。

       管理员组:root,0

       普通组:

              系统组:1-499(centos6);1-999(centos7)

              普通组:500+(centos6);1000+(centos7)

组对系统用户来说,又可以划分问用户的基本组和附加组。用户必须属于一个且只能有一个基本组,组名同用户名。一个用户可以属于0个或多个附加组。

 二、用户和组的配置文件详解

Linux用户的主要配置文件有/etc/passwd、/etc/shadow,其中

/etc/passwd  存放用户的用户名及其属性信息(包含uid、基本组id等)

/etc/shadow  存放用户密码及其相关属性

下面来解释一下/etc/passwd文件的格式

blob.png

每行为一个用户的信息,用“:”作分割,分别对应

root        x                   0        0            root             /root           /bin/bash

用户名  密码信息       UID    GID     用户描述    用户家目录    用户登录时的默认shell

        为什么密码信息显示为x呢,因为所有用户都可以访问/etc/passwd文件,这是很不安全的,所以,密码另存在/etc/shadow文件中

/etc/shadow文件的格式:

blob.png

同样也是使用”:”做分隔符

  bin         *             15980      0              99999                         7               第七列          第八列

用户名  用户密码  密码最近  密码最小    密码最大   密码过期     密码锁定  账号过期时间    账号过期             

                           修改时间  修改时间    修改时间   提醒时间        时间                                 时间

第七列和第八列因为没有设置,所以没有显示

 解释:

用户密码:      经加密算法加密后的密文

密码最近修改时间:从1970年1月1日起到密码最近一次被更改的时间

密码最小修改时间: 密码再过几天可以被变更( 0表示随时可被变更)

密码最大修改时间:密码再过几天必须被变更( 99999表示永不过期)

密码过期提醒时间:密码过期前几天系统提醒用户(默认为一周)

密码锁定时间:密码过期几天后帐号会被锁定

账号过期时间:从1970年1月1日算起,多少天后帐号失效。

用图表来表示:

blob.png

 

组的相关信息保存在/etc/group和/etc/gshadow文件中,来看看两个文件的结构:

查看/etc/group

blob.png

从左至右分别对应:组名、组密码(通常不设定)、组id(GID)、组成员列表

 

查看/etc/shadow

blob.png

从左至右分别对应:组名、组密码、组管理员列表、以本组问附加组的成员列表

 

三、用户管理

       创建用户、管理用户、删除用户

1、创建用户:使用useradd命令 

useradd  [options]  username

常用选项

-u UID: 指定用户UID

-o 配合-u 选项,不检查UID的唯一性。一般来说,用户名和UID是一一对应的。在创建用户时如果为用户指定已使用的UID,会报错。

例:12346UID已使用,

blob.png

-g GID:指明用户所属基本组,可为组名,也可以GID

-c "COMMENT":用户的注释信息

-d HOME_DIR: 以指定的路径(不存在)为家目录

-s SHELL: 指明用户的默认shell程序;可用列表在/etc/shells文件中

-G GROUP1[,GROUP2,…]:为用户指明附加组,组必须事先存在

-N  不创建私用组做主组,使用users组做主组

-r: 创建系统用户 

示例:创建用户hadoop,附加组为bin和root,默认shell为/bin/csh,注释信息为”Hadoop,I’m coming "

blob.png

注:多个附加组以”,”逗号分隔

2、查看用户相关信息:

       id  [options]  usename

              -u UID:查看用户的UID

              -g GID:查看用户的GID

              -G Groups:查看的所有组信息,以GID的形式展现

3、设定密码:管理员可为所有设定密码,普通用户只能为自己设定密码

       passwd

       passwd  [OPTIONS]  UserName

 

4、管理用户

创建用户之后想修改用户的配置,使用usermod命令

usermod  [OPTION]  username

-u UID: 指定新UID

-g GID: 指定新基本组

-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append(追加);

-s SHELL:新的默认SHELL;

-c 'COMMENT':新的注释信息;

-d HOME: 新家目录不会自动创建,原家目录中的文件不会同时移动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项

-l login_name: 新的名字;

-L: lock指定用户,在/etc/shadow 密码栏的增加 !;此时用户将不可登录系统

-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉,即解锁

-e YYYY-MM-DD: 指明用户账号过期日期

 

5、删除用户:

       userdel 命令

       userdel  [OPTION]…  username

              -r 删除用户及其家目录

四、组管理:

       创建、修改、删除

1、创建组

groupadd  [OPTION]…  group_name

       -g GID: 指明GID号

-r: 创建系统组

2、查看组成员或增加、删除组成员

groups  [OPTION]. [USERNAME]… 查看用户所属组列表

groupmems  [options]  [action] 查看或增加、删除组成员

options:

-g, –group groupname 更改为指定组 (只有root)

Actions:

-a, –add username 指定用户加入组

-d, –delete username 从组中删除用户

-p, –purge 从组中清除所有成员

-l, –list 显示组成员列表

例:

       删除bin组里面的成员wobushikaqiusha

blob.png

3、组属性修改: groupmod

groupmod [OPTION]… group

-n group_name: 新名字

-g GID: 新的GID;

4、组删除: groupdel

groupdel GROU

原创文章,作者:M20-1钟明波,如若转载,请注明出处:http://www.178linux.com/27155

(0)
M20-1钟明波M20-1钟明波
上一篇 2016-08-02 10:58
下一篇 2016-08-02 10:58

相关推荐

  • 高级文件系统管理

    磁盘配额:         当我们在一个指定分区内有多个用户使用时,为了保证磁盘空间的大小,我们可以限制某些用户在该磁盘空间中的使用量,此种功能我们称之为磁盘配额。          &nb…

    Linux干货 2016-08-30
  • Python 课堂笔记

    第二天

    Linux干货 2018-03-21
  • N22-第六周博客作业

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; :%s@^[[:space:]]\+[^[:space:]]@#\1@g 或 :%s@^[[:space:]]\+[^[:space:]]@#&a…

    Linux干货 2016-09-26
  • Linux文本处理工具grep,egrep

    简介:     grep即(Global search REgular expression and Print out the line)全局的搜索正则表达式并且打印显示出来。     通俗点讲:根据用户指定的文本模式(搜索条件)对目标文件进行逐行搜索,显示能匹配到的行。 &n…

    Linux干货 2015-05-11
  • CentOS 5和6的启动流程

    Linux: kernel+rootfs  kernel: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 rootfs: glibc 库:函数集合, function, 调用接口 过程调用:procedure 函数调用:function 程序  内核设计流派: 单内核设计:Linux 把所有功能集成于同一个程序; 微内核设计…

    Linux干货 2016-08-23
  • LVM2

    LVM2:         LVM: Logical Volume Manger, Version:2        dm: device mapper, 将一个或多个底层块设备组织 成一个逻辑设备的模块;           &…

    Linux干货 2016-12-30