Linux 操作系统 Lecture 03 – 用户和用户组管理的操作
Module Name: Linux OS
Guided by Dong Wang
Course Type:Specialized Course
Date issued:Mar 30, 2021 (week 05)
OS version:CentOS_7.6_x64
Assignment: coursework 03
Class:20 Network Engineering C1
Time Length:120 mins
Runtime Environment:VMware workstation
Submission:In class
Learning Instruction 3:用户和用户组管理的操作
教育改变人生,技术成就梦想。
一、 实训目的
1. 掌握用户和用户组的概念、权限和逻辑架构;
2. 掌握针对用户的‘删添改查’的管理操作和用户登录密码的管理;
3. 掌握针对用户组的管理操作以及理解用户组的管理模式。
二、 实验要求
1) 按照要求修改提交作业的文件名;
2) 按照要求修改 Linux 系统主机名;
3) 按要求完成实验并参照样图抓取截图(包含“学号”和“姓名缩写”信息);
4) 参考教材,自己组织语言完成问答题(必答);
5) 完成本周学习情况交流问卷。
三、考核标准
1) 学生独立完成本实验及理论题部分;
2) 至少完成实验 1 截图和理论题;
1
Linux 操作系统 Lecture 03 – 用户和用户组管理的操作
四、实验内容
1. 用户与用户组管理的作用
用户和用户组管理,就是添加用户和用户组,针对每个用户设置不同的密码。此情此景如同
Windows 的多用户登录。
企业级服务器添加多账户的目的是:针对‘不同用户’分配‘不同的权限’,不同权限可以
限制用户访问系统资源的多少和权限,提高系统的安全性,帮助系统管理员对使用系统的用
户进行跟踪。
1)Linux 的多用户多任务模式是什么?
Linux 系统是一个‘多用户多任务’操作系统,所谓多用户多任务,是指支持多个用户在同
一时间内登录系统,不同用户可以执行不同的任务,且互不影响。
场景:小明所在的运维团队一共有三个人,分别有大毛,二毛,三毛,大毛负责网站,他的
账户叫 web;二毛负责数据库,他的账户叫 db。
在同一时间,大毛、二毛都可以使用自己的账号登录这台服务器,大毛可以查询网站的日志,
二毛可以处理数据库的问题,他们之间互不影响。
由于管理员设置了权限,大毛只能访问网站的日志,无法访问数据库;二毛可以处理数据库
问题,但是不能访问网站的日志。这就是系统的多用户多任务的运行机制。
2. 什么是用户?
一个运维人员要登录服务器,必须先向管理员申请一个账号(或者用相应权限的既有账号),
然后以这个账号进入系统,如:web 账号。每个系统的每个账号都拥有一个唯一的用户名和
各自对应的密码,用户在登录时输入了正确的用户名和密码后,就能够进入系统,默认会进
入到这个用户自己的主目录。
3. 什么是用户组?
用户组是具有相同特征(权限)的用户的逻辑集合,简单来说,就是具有相同的‘权限’的
用户的集合。如:人事部有 20 名员工,他们都需要访问一个文件夹,如果我们给这 20 个用
户的账号分别设置权限,这样太麻烦了,所以我们会建立一个用户组叫 HR,对这个组设置
权限,将这 20 个用户加入这个组就可以了。
2
Linux 操作系统 Lecture 03 – 用户和用户组管理的操作
4. 用户和用户组的关系
关系 1:一个用户可以属于一个用户组,具有此用户组的权限(套用)。
HR 组可以访问/hrfile 的文件夹,当 user01 属于 HR 组,那么 user01 就可以访问/hrfile 这个
文件夹。
关系 2:一个用户可以属于‘多个用户组’,此时具有多个组的共同权限(叠加)。
HR 可以访问/hrfile 的文件夹,运维可以访问/yunweifile 的文件夹,当 user01 同时属于 HR
组和运维组,那么 user01 既可以访问 /hrfile 也可访问/yunweifile 文件夹。
关系 3:一个用户可以属于一个主组和若干个附属组,多个用户都具有此用户组的权限(主
从)。
注:‘主组’是用户创建时默认所属的组,每个用户的主组只能有一个主组。创建用户时
会同时创建一个和用户名相同的组(初始组)。
场景:创建用户 xiaoming,在建立用户 xiaoming 的同时,系统会建立 xiaoming 组作为
xiaoming 用户的初始组。
‘附加组’:每个用户虽只能有一个主组,但用户可加入其他的用户组,这些用户组就是该
用户的‘附加组’。
注:每个用户可有多个附加组,每个用户也具有这些附加组的权限。
4.1 用户组的管理
如前所述,人事部有 20 名员工,管理员建立一个‘hr’组,这样就不用分别给 20 个员工设置
权限了(批量处理)。
用户组的管理工作包括:用户账号的‘添加、删除、修改’以及‘用户密码的管理’的工作。
涉及的 3 个文件包括:
1)
2)
3)
4.2 用户组管理的具体操作
4.2.1 用户组添加
命令:groupadd
作用:添加组
语法:# groupadd [参数选项 选项值] 用户组名
/etc/passwd 用户配置文件,存储用户的基本信息
/etc/group 存储用户组的信息
/etc/shadow 存储用户的==密码==信息
3
Linux 操作系统 Lecture 03 – 用户和用户组管理的操作
选项:-g:设置用户组 ID 数字,如果不指定,CentOS 7.X 则默认从 1000 之后递增(1-999
系统组)
示例代码:
#groupadd hr
含义:新建一个组叫做 hr
注:在 Linux 下执行完命令,有时没有任何提示,直接回到‘#’提示符,这种状态表明,
命令执行成功,没有报错。就是说:“没有消息就是最好的消息”。
存储用户组信息的文件为:/etc/group
使用 cat 命令,查看/etc/group 文件,我们可以看到如下图所示:
/etc/group 文件结构分析:
hr1 : x : 1104 :
用户组名:密码(占位符):用户组 ID:这个组包含的用户
注意:
1)密码位‘x’代表‘占位符’,用户组可以设置密码,如无特殊需求则不需要设置;
2)组内用户名:表示附属组是该组的用户名称。
例如:
wheel 组(组 ID10),是 xiaoming 账户的附属组,所以 xiaoming 这个账户,就显示在这
里。
xiaoming 组(组 ID1000),是 xiaoming 账户的主组, 所以 xiaoming 这个账户就不显示
在最后。
4.2.2 用户组修改
命令:groupmod
语法:# groupmod [选项 选项值] 用户组名
选项:-g :gid 缩写,设置一个自定义的用户组 ID 数字
-n :name 缩写,设置新的用户组的名称
示例代码:修改 hr 用户组,将组 ID 改成 1100,将名称改为 bjhr
示例代码:
#groupmod -g 1100 -n bjhr hr
含义:将 hr 组的组 ID 改成 1100,组名改成 bjhr
4
Linux 操作系统 Lecture 03 – 用户和用户组管理的操作
4.2.3 用户组删除
命令:groupdel
语法:# groupdel 用户组名
案例:删除 bjhr 组
用法:groupmod -g 新的组 ID -n 新的组 ID 原有组 ID
用法:groupdel 组名
示例代码:
#groupdel bjhr
含义:将 bjhr 组删除
4.2 用户管理
用户的管理涉及用户的‘添加’、‘删除’和‘修改’。
与用户管理操作相关的文件是:/etc/passwd
4.2.1 添加用户
命令:useradd
作用:添加用户
语法:# useradd [选项 选项的值] 用户名
选项:-g:表示指定用户的用户主(主要)组,选项值可以是用户组 ID,也可以是组名
-G:表示指定用户的用户附加(额外)组,选项值可以是用户组 ID,也可以是组名
-u :uid,用户的 id(用户的标识符),系统默认会从 500 /或 1000 之后按顺序分配
uid,如果不想使用系统分配的,可以通过该选项自定义【类似于腾讯 QQ 的自选靓号情况】
-c:comment,添加注释(选择是否添加)
-s:指定用户登入后所使用的 shell 解释器,默认/bin/bash【专门的接待员】,如果不
想让其登录,则可以设置为/sbin/nologin (重要)
-d:指定用户登入时的启始目录(家目录位置)
-n:取消建立以用户名称为名的群组(了解)
当新建一个账户叫 user01, 同时,系统会自动建立一个组也叫 user01
用法:useradd 用户名
示例代码:
#useradd zhangsan
含义:创建用户 zhangsan,不带任何选项。
5
Linux 操作系统 Lecture 03 – 用户和用户组管理的操作
注:不挂参情况,当创建新用户时,系统会默认执行以下操作:
1)在 /etc/passwd 文件中创建一行关于 zhangsan 用户的数据
2)在 /etc/shadow 文件中新增了一行关于 zhangsan 密码的数据
3)在 /etc/group 文件中创建一行与用户名相同的组,例如 zhangsan
4)在 /etc/gshadow 文件中新增一行与新增群组相关的密码信息,例如 zhangsan
5)自动创建用户的家目录,默认在/home 下,与用户名同名
验证用户已成功创建的方法:
1)使用 tail 文件查看/etc/passwd 文件
2)使用 tail 文件查看/etc/group 文件
3)验证是否存在家目录下创建好用户之后随之产生了一个同名家目录
4.2.2 存储用户信息的文件
/etc/passwd 是存储用户信息的文件,使用 cat 命令打开如下:
每个账户的存储格式为(以 root 账户为例):
root : x : 0 : 0 : root : /root : /bin/bash
用户名 : 密码 : 用户 ID : 用户组 ID : 注释 : 家目录 : 解释器 shell
6
Linux 操作系统 Lecture 03 – 用户和用户组管理的操作
‘用户名’:登录 linux 时使用的用户名
‘密码’:此密码位置一般情况都是"x",表示密码的占位,真实密码存储在/etc/shadow
‘用户 ID’:用户的识别符,每个用户都有唯一的 UID【-u】
‘用户组 ID’:该用户所属的主组 ID;【-g】
‘注释’:解释该用户是做什么用的;【-c】
‘家目录’:用户登录进入系统之后默认的位置;【-d】
‘解释器 shell’:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入
的指令,转换成机器语言,传递给内核处理;如果解释器是 /bin/bash 表示用户可以登录到
系统, /sbin/nologin 表示该用户不能登录到系统。【-s】
【本节完】
7