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

相关推荐

  • Python基础篇之过程型程序设计

    一、Python过程型程序设计 面向过程 以指令为中心,由指令处理数据 如何组织代码解码问题 面向对象 以数据为中心,所有的处理代码都围绕数据展开 如何设计数据结构组织数据,并提供对此类数据所允许处理操作 简单方法: 1)、编译安装新版本至某特定路径 # yum install readline-devel # tar xf Python-2.7.6.tar…

    2018-01-11
  • 马哥教育网络班21期+第8周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 集线器 集线器也称HUB,工作在OSI七层结构的第一层物理层,属于共享型设备,接收数据广播发出,在局域网内一般都是星型连接拓扑结构,每台工作站都连接到集线器上。 由于集线器的带宽共享特性导致网络利用效率极低,一般在大中型的网络中不会使用到集线器。 网桥 网桥(Bridge)也称桥…

    Linux干货 2016-09-01
  • shell-变量

    bash中变量的种类 根据变量的生效范围等标准:     本地变量:生效范围为当前shell进程;对当前shell之外的其它shell进程,包括当前shell的子shell进程均无效     环境变量:生效范围为当前shell进程及其子进程    …

    Linux干货 2016-08-21
  • N29 第一周作业

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    Linux干货 2018-03-05
  • 0812 find 作业

    0812作业 1、查找/var目录下属主为root,且属组为mail的所有文件 [root@CentOS 7 ~]# find /var -user root -a -group mail /var/spool/mail [root@CentOS 7&nbsp…

    Linux干货 2016-08-13
  • grep

    1. 文本处理工具的使用:   cat 连接文件并打印到标准输出设备,但是文件较大时,翻屏太快,与more或者less连用 命令反着输入(tac)将会反向输出文本文件 用法: cat 选项 参数   选项: -A 显示不可打印字符 -b 对行进行编号,空白行不编号 -s 压缩空白行 -n 对行进行编号,包括空白航  参数: &n…

    Linux干货 2016-08-08