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

相关推荐

  • Linux的文本处理工具练习题

    练习一:     1、找出ifconfig命令结果中本机的所有IPv4地址 2、查出分区空间使用率的最大百分比值 3、查出用户UID最大值的用户名、UID及shell类型 4、查出/tmp的权限,以数字方式显示  练习二:       1、显示/proc/meminfo文件中以大…

    Linux干货 2016-08-08
  • 重定向与管道

         本次内容    1.三种I/O设备    2.把I/O从定向入文件    3.命令tr    4.使用管道链接命令    5.tee   我们都知道程序是由:指令+数据    &n…

    2017-07-23
  • 第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限 答:     复制目录:cp -R /etc/skel /home/tuser1     修改权限:chmod -R go=- /home/tuser1 2、编辑/etc/group文件…

    Linux干货 2016-12-07
  • 如何查看当前系统版本的版本号

    作为一名系统管理员,了解系统版本号是必然。因为不同大版本之间的命令和启动流程等之间有很大的差异;     一、在/etc/system-release 里面查看         ~]#ls -l /etc/system-release &n…

    Linux干货 2016-07-29
  • rpm数据库损坏 不能使用正常使用yum的处理方法

           不知道有没有跟我一样的小伙伴,在使用yum安装软件时,发现无法正常使用yum安装软件包,下面出现几句英语提示。在使用rpm时也无法正常的使用。其实 是rpm数据库崩溃导致的 下面就简单的介绍一下怎么回复,让其正常的工作,很简单几个命了即可。 1. 出现错误提示,这时我们需要认真的阅读下面的提示,不要乱找原…

    Linux干货 2017-06-13
  • N26_第一周

    计算机组成     CPU:核心部件:                 运算器: 对数据进行算术运算和逻辑运算     …

    Linux干货 2017-01-11