Linux网络操作系统及应用教程(项目式) • 项目三 管理Linux服务器的用户和组 项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员, 掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形 工具对用户和组群进行创建与管理等内容。 职业能力目标和要求: ●了解用户和组群配置文件。 ●熟练掌握Linux下用户的创建与维护管理。 ●熟练掌握Linux下组群的创建与维护管理。 ●熟悉用户账户管理器的使用方法。 Linux网络操作系统及应用教程(项目式) 项目三 管理Linux服务器的用户和组 1. 项目课题引入 2. 用户和组群文件 3. 用户帐户的创建和管理 4. 组群的管理 5. 用户帐户管理器 6. 常用的用户帐户命令 7.

Download Report

Transcript Linux网络操作系统及应用教程(项目式) • 项目三 管理Linux服务器的用户和组 项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员, 掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形 工具对用户和组群进行创建与管理等内容。 职业能力目标和要求: ●了解用户和组群配置文件。 ●熟练掌握Linux下用户的创建与维护管理。 ●熟练掌握Linux下组群的创建与维护管理。 ●熟悉用户账户管理器的使用方法。 Linux网络操作系统及应用教程(项目式) 项目三 管理Linux服务器的用户和组 1. 项目课题引入 2. 用户和组群文件 3. 用户帐户的创建和管理 4. 组群的管理 5. 用户帐户管理器 6. 常用的用户帐户命令 7.

Slide 1

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 2

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 3

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 4

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 5

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 6

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 7

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 8

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 9

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 10

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 11

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 12

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 13

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 14

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 15

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 16

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 17

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 18

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 19

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 20

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 21

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 22

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 23

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 24

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 25

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 26

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 27

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 28

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 29

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 30

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 31

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 32

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 33

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 34

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 35

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 36

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 37

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 38

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 39

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 40

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 41

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 42

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 43

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 44

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 45

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 46

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 47

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 48

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 49

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 50

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 51

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 52

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 53

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 54

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 55

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 56

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 57

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 58

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 59

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 60

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 61

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 62

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 63

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 64

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 65

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 66

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。


Slide 67

Linux网络操作系统及应用教程(项目式)

• 项目三 管理Linux服务器的用户和组
项目导入: Linux是多用户多任务的网络操作系统,作为网络管理员,
掌握用户和组的创建与管理至关重要。项目3将主要介绍利用命令行和图形
工具对用户和组群进行创建与管理等内容。
职业能力目标和要求:
●了解用户和组群配置文件。
●熟练掌握Linux下用户的创建与维护管理。
●熟练掌握Linux下组群的创建与维护管理。
●熟悉用户账户管理器的使用方法。

Linux网络操作系统及应用教程(项目式)

项目三

管理Linux服务器的用户和组

1. 项目课题引入
2. 用户和组群文件
3. 用户帐户的创建和管理
4. 组群的管理

5. 用户帐户管理器
6. 常用的用户帐户命令
7. 现场演示案例

Linux网络操作系统及应用教程(项目式)

 课题引入-项目背景
1、Linux操作系统是否允许多个用户同时登录到系统,使用

系统资源?
回答:是的,Linux是一个多用户多任务的操作系统。

2、大家想一下Windows系统下,是如何区分不同的用户,
如何规范用户权限的?

回答:通过用户账户来区分不同的用户,并且将用户帐户添
加到组中,通过规范组的权限来规范用户的权限。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目背景
Linux操作系统是一个多用户多任务的操作系统,允
许多个用户同时登录到系统,使用系统资源。为了使所
有用户的工作顺利进行,保护每个用户的文件和进程,
规范每个用户的权限,需要区分不同的用户,就产生了
用户帐户和组群。
本堂课的重点:用户和组的管理

Linux网络操作系统及应用教程(项目式)

• 课题引入-企业需求
公司有100个员工,每个员工的工作内容不同,然
而他们中有些人具有相同的权限,因此需要为每个员工
创建不同的帐号,同时还需要把有相同权限的用户放在
同一个组群中。

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成本项目需要解决的工作任务:
–1.为每个用户创建一个帐号,并设置口令
–2.把有共同点的用户放在同一个组群中

–3.使用用户管理器管理用户和组群
–4.用户帐户和组群的管理与维护

Linux网络操作系统及应用教程(项目式)

• 课题引入-项目分析
完成工作任务需要的专业知识:
–1.用户文件和组群文件
–2.用户账户的创建和管理

–3.组群的创建和管理
–4.用户管理器的使用
–5.常用账户管理命令

Linux网络操作系统及应用教程(项目式)

任务1、任务2- 用户和组群文件
1. 用户和组群概述
2. 用户账户文件

3. 组群文件

Linux网络操作系统及应用教程(项目式)

• 项目问题1-用户和组群概述
 用户帐户是用户的身份标识,用户通过用户帐户可以登录到

系统,并且访问已经被授权的资源。系统依据账户来区分属
于每个用户的文件、进程、任务,并给每个用户提供特定的
工作环境,使每个用户的工作都能各自独立不受干扰地工作。
 Linux系统下的用户帐户分为两种:


普通用户帐户



超级用户帐户(root):又称为根用户或管理员账户,可
以对普通用户和整个系统进行管理。

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 组群是具有相同特性的用户的逻辑集合,使用组群有利于系
统管理员按照用户的特性组织和管理用户,提高工作效率。
 在为资源授权时可以把权限赋予某个组群,组群中的成员
即可自动获得这种权限。
 一个用户账户至少属于一个用户组,当是多个组群的成员
时,其中某个组群是该用户的主组群(私有组群),其他
组群是该用户的附属组群(标准组群)。

Linux网络操作系统及应用教程(项目式)

•用户和组群的基本概念
用户名

用来标识用户的名称,可以是字母、数字组成的字符串,
区分大小写

密码

用于验证用户身份的特殊验证码

用户标识(UID)

用来表示用户的数字标识符

用户主目录

用户的私人目录,也是用户登录系统后默认所在的目录

登录Shell

用户登录后默认使用的Shell程序,默认为/bin/bash

组群

具有相同属性的用户属于同一个组群

组群标识(GID)

用来表示组群的数字标识符

Linux网络操作系统及应用教程(项目式)

•用户和组群概述
 每一个用户都有一个唯一的身份标识,称为用户ID(UID);

每一个用户组也有一个唯一的身份标识,称为用户组ID
(GID)。

 root用户的UID为0。
 普通用户的UID可以在创建时由管理员指定,如果不指定,用
户的UID默认从500开始顺序编号。

Linux网络操作系统及应用教程(项目式)

•用户和组群配置文件
 用户帐户文件:

/etc/passwd文件:用户帐户信息
/etc/shadow文件:用户口令

 组群文件:
/etc/group文件:组群帐户信息

/etc/gshadow文件:组群口令、管理员等管理信息
 /etc/login.defs文件

Linux网络操作系统及应用教程(项目式)

•子任务1- /etc/passwd文件
UID
GID 用户描述信息
用户名
加密口令
主目录

命令解释器

– Vi /etc/passwd;每行用“:”分隔为7个域

代表无本地登陆权限

真正的密码保存在shadow文件中

Linux网络操作系统及应用教程(项目式)

•子任务2- /etc/shadow文件
所有用户对passwd文件均可读取,只有root用户对shadow文件可
读,因此密码存放在shadow文件中更安全
分隔为9个域:
•用户名
•加密后口令
•修改……
•口令存活期
•口令过期前
几天提醒用

•口令过期几
天被禁
•口令被禁用
具体日期
•保留域

Linux网络操作系统及应用教程(项目式)

•子任务3- /etc/group文件
用户的组账户的信息存放在group文件中,任何用户都可以读取,
用“:”分隔为4个域。
组群成员列表
GID
组群口令,一般为空
组群名称

用户的主组群并不把该用户作为
成员列出

Linux网络操作系统及应用教程(项目式)

•子任务4- /etc/gshadow文件
gshadow文件用于存放组群的加密口令、组管理员等信息,只有
root用户可读,用“:”分隔成4个域

分隔为4个域:
•组群名称
•加密后的组
群密码
•组群的管理

•组群成员列


Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件
建立用户帐户时根据/etc/login.defs文件的配置设置用户
帐户的某些选项。
用户邮箱目录

用户密码最长有效天数
用户密码最短有效天数
用户密码的最小长度
用户密码过期前提前警告的天数

Linux网络操作系统及应用教程(项目式)

• 子任务5-

/etc/login.defs文件

建立用户帐户时根据/etc/login.defs文件的配置设置用户帐户的某
些选项。
自动产生的最小UID
自动产生的最大UID

自动产生的最小GID
自动产生的最大GID
如果定义,则表示“删除用
户时,同时删除用户的相关
作业”

创建用户账户时为用
户创建主目录

Linux网络操作系统及应用教程(项目式)

任务3- 用户账户的创建和管理
1. 新建用户
2. 设置用户账户口令

3. 用户帐户的维护

Linux网络操作系统及应用教程(项目式)

子任务1-1- 新建用户





使用useradd或者adduser命令
Useradd命令的格式是:
useradd [选项]
例如:创建ph用户

• 若新建用户已经存在

Linux网络操作系统及应用教程(项目式)

子任务1-2- useradd命令的选项














-c comment
用户的注释性信息
-d home_dir 指定用户的主目录
-e expire_date 禁用帐号的日期,格式为:YYYY-MM-DD
-f inactive_days 设置帐户过期多少天后,用户帐户被禁用。
-u UID
指定用户的UID
-g initial_group 用户所属主组群的组群名称或者GID
-G group-list
用户所属的附属组群列表
-m
若用户主目录不存在则创建它
-M
不要创建用户主目录
-n
不要为用户创建用户私人组群
-p
passwd 加密的口令
-r
创建UID小于500的不带主目录的系统帐号
-s shell 指定用户的登录Shell,默认为/bin/bash

Linux网络操作系统及应用教程(项目式)

新建用户案例


题目:新建用户user1,UID为510,指定其所属的私有组为mlx(
mlx组的标识符为500),用户的主目录为/home/user1,用户的
Shell为/bin/bash,用户的密码为123456,帐户永不过期。

Linux网络操作系统及应用教程(项目式)

子任务2-1- 设置用户口令
• 新建用户后,要为用户设置口令,未设置口令的用户不
能登陆系统,如:

• 指定和修改用户帐户口令:passwd
• 修改用户帐户口令:chage

Linux网络操作系统及应用教程(项目式)

子任务2-2- passwd命令
• 超级用户可以为自己和其他用户设置口令,而普通用户
只能为自己设置口令
• 格式:passwd [选项] 〈username〉

Linux网络操作系统及应用教程(项目式)

子任务2-3- passwd命令的选项
• -l
锁定(停用)用户帐户
• -u 口令解锁
• -d 将用户口令设置为空,这与未设置口令的帐户不同。未设置口令
的帐户无法登录系统,而口令为空的帐户可以。
• -f
强迫用户下次登录时必须修改口令
• -n 指定口令的最短存活期
• -x 指定口令的最长存活期
• -w 口令要到期前提前警告的天数
• -I
口令过期后多少天停用帐户
• -S 显示帐户口令的简短状态信息

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例





案例:假设当前用户为root,则下面的两个命令分别为:
root用户修改自己的口令和root用户修改user1用户的口令。
root用户修改自己的口令
root用户修改user1用户的口令

Linux网络操作系统及应用教程(项目式)

子任务2-4- passwd命令案例
• 普通用户修改口令时,passwd命令会首先询问原来的口
令,只有验证通过才可以修改。
• 如:

Linux网络操作系统及应用教程(项目式)

子任务3-1- chage命令
• 格式:chage [选项] 〈username〉
• 选项:
-l

列出帐户口令属性的各个数值

-m

指定口令最短存活期

-M

指定口令最长存活期

-W

口令要到期前提前警告的天数

-I

口令过期后多少天停用帐户

-E

用户帐户到期作废的日期

Linux网络操作系统及应用教程(项目式)

子任务3-2- chage命令案例


案例:设置user1用户的最短口令存活期为6天,最长口
令存活期为60天,口令到期前5天提醒用户修改口令。



设置完成后查看各属性值。

Linux网络操作系统及应用教程(项目式)

子任务4- 用户帐户维护
• 修改用户帐户

• 禁用和恢复用户帐户
• 删除用户帐户

Linux网络操作系统及应用教程(项目式)

子任务4-1- 修改用户帐户




命令:usermod
格式:usermod [选项] 〈username〉
例:修改用户user1的主目录为/var/user1,把启动
Shell修改为/bin/tcsh



查看修改后的结果

Linux网络操作系统及应用教程(项目式)

子任务4-2- 禁用和恢复用户帐户


禁用和恢复用户帐户的实现方法:

① passwd命令
② usermod命令

③ 直接修改/etc/passwd或/etc/shadow文件

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Passwd命令
• 禁用user1帐户

• 查看(被锁定的用户密码栏前面会加上!)

• 恢复user1帐户(解除锁定)

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户- Usermod命令
• 禁用user1用户帐户

• 解除user1用户锁定

Linux网络操作系统及应用教程(项目式)

禁用和恢复用户帐户-直接修改配置文件
• 可将/etc/passwd文件或/etc/shadow文件中关于user1帐

户的passwd域的第一个字符前面加上一个“*”,达到禁用
帐户的目的,在需要恢复的时候只要删除字符“*”即可。
• 如果只是禁止用户帐户登录系统,可以将其启动Shell设
置为/bin/false或者/dev/null。

Linux网络操作系统及应用教程(项目式)

子任务4-3- 删除用户帐户
• 直接编辑/etc/passwd和/etc/shadow文件,删除用户所对
应的行
• 用userdel命令删除


格式:userdel [-r]



案例:删除用户user1,保留用户主目录

Linux网络操作系统及应用教程(项目式)

任务4- 组群管理
1. 维护组群账户
2. 为组群添加用户

Linux网络操作系统及应用教程(项目式)

子任务1-1- 维护组群账户
• 创建组群的命令:groupadd或addgroup
• 案例:
创建一个新的组群,组群名称为testgroup

Linux网络操作系统及应用教程(项目式)

子任务1-2- 维护组群账户
• 修改组群的命令:

groupmod [选项] 〈groupname〉
• 修改组群命令的参数:

把组群的GID改成gid

-g

gid

-n

group-name

-o

强制接受更改的组的GID为重复的号码

把组群的名称改为name

Linux网络操作系统及应用教程(项目式)

子任务1-3- 维护组群账户


修改组群
– 修改gid:
– 修改组群名称:



删除组群的命令:groupdel
– 例:删除grouptest组群

Linux网络操作系统及应用教程(项目式)

子任务1-4- 维护组群账户
• 在Red Hat中使用不带任何参数的useradd命令创建用户时,
会同时创建一个和用户帐户同名的组群,称为主组群。
• 当一个组群中必须包含多个用户时则需要使用附属组群。
• 在附属组中增加、删除用户都用gpasswd命令,该命令只有
root用户和组管理员才能够使用。

Linux网络操作系统及应用教程(项目式)

为组群添加用户- gpasswd命令
• gpasswd命令的格式 :
gpasswd [选项] [用户] [组]

• gpasswd命令的选项:
-a 把用户加入组
-d 把用户从组中删除

-r 取消组的密码

Linux网络操作系统及应用教程(项目式)

为组群添加用户- 案例


案例:新建组群testgroup,把ph用户加入testgroup组
,并指派ph为管理员 。

Linux网络操作系统及应用教程(项目式)

任务5-使用用户管理器管理用户和组群
1. 新建用户
2. 修改用户属性

3. 组群管理

Linux网络操作系统及应用教程(项目式)

子任务1-1-用户管理器

Linux网络操作系统及应用教程(项目式)

子任务1-2- 新建用户

Linux网络操作系统及应用教程(项目式)

子任务2- 修改用户属性

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

子任务3- 组群管理

Linux网络操作系统及应用教程(项目式)

任务6- 常用的账户管理命令
1. vipw、vigr
2. pwck
3. grpck
4. id
5. finger、chfn、chsh
6. whoami
7. su
8. newgrp

Linux网络操作系统及应用教程(项目式)

1. vipw
• 命令格式:[root@RHEL5 ~]# vipw

• 功能:用于直接对用户帐户文件/etc/passwd进行编辑,使
用的默认编辑器是vi。
• 特点:在功能上等同于“vi /etc/passwd”命令,但比vi更安全
,因为在对/etc/passwd文件进行编辑时将自动锁定该文件
,编辑结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

2. vigr
• 命令格式:[root@RHEL5 ~]# vigr
• 功能:用于直接对组群文件/etc/group进行编辑,使用的默认

编辑器是vi。
• 特点:在功能上等同于“vi /etc/group”命令,但比vi更安全,
因为在对/etc/group文件进行编辑时将自动锁定该文件,编辑
结束后对该文件进行解锁,保证了文件的一致性。

Linux网络操作系统及应用教程(项目式)

3. pwck
• 命令格式:[root@RHEL5 ~]#pwck

• 功能:用于验证用户帐户文件认证信息的完整性,检测
/etc/passwd文件和/etc/shadow文件的每行中字段的格式

和值是否正确。

Linux网络操作系统及应用教程(项目式)

4. grpck
• 命令格式: [root@RHEL5 ~]#grpck

• 功能:用于验证组群文件认证信息的完整性,检测
/etc/group文件和/etc/gshadow文件的每行中字段的格式
和值是否正确。

Linux网络操作系统及应用教程(项目式)

5. id
• 功能:查看用户UID和GID以及用户所属的组列表
• 命令格式:id [选项] 〈username〉
• 选项:
– -g:只显示用户的组的GID
– -G:只显示用户的附属组的GID
– -u:只显示UID

Linux网络操作系统及应用教程(项目式)

5. id案例
• 案例:查看当前用户的UID、GID信息及用户所属组列表

• 案例:查看ph用户的UID、GID信息及所属组

Linux网络操作系统及应用教程(项目式)

6. finger
• 功能:查看用户的相关信息,包括用户的主目录、启动
Shell、用户名、地址、电话等存放在/etc/passwd文件中
的记录信息
• 命令格式:finger [选项] 〈username〉
• 选项:
-l 以长格形式显示,是默认选项
-s 以短格形式显示

Linux网络操作系统及应用教程(项目式)

6. finger案例
• 案例:查看当前用户的信息

• 案例:查看用户ph的信息

Linux网络操作系统及应用教程(项目式)

7. chfn案例
• 功能:修改用户的办公地址、办公电话和住宅电话等
• 案例:

Linux网络操作系统及应用教程(项目式)

8. chsh案例
• 功能:修改用户的启动Shell
• 实例:

Linux网络操作系统及应用教程(项目式)

9. whoami案例
• 功能:显示当前用户的名称
• 实例:

Linux网络操作系统及应用教程(项目式)

10. su案例
• 功能:转换当前用户到指定的用户帐户

• 实例:

• su命令不指定用户名时将从当前用户转换为root用户,但需要
输入root用户的口令。

Linux网络操作系统及应用教程(项目式)

11. newgrp案例
• 功能:转换用户的当前组到指定的主组群
• 实例:

Linux网络操作系统及应用教程(项目式)

现场演示
以新建和管理一个账户和一个组群为例子,现场演示项目的实施和维护过程:
1. 用户的管理
• 创建一个新用户user01,设置其主目录为/home/user01;设置密码;查看passwd和
shadow文件;使用user01用户登录系统,看能否登录成功
• 锁定用户user01;查看shadow文件;再次使用user01用户登录系统,看能否登录成

• 解除对用户user01的锁定
• 更改用户user01的帐户名为user02;查看passwd文件
• 删除用户user02。
2. 组的管理
• 创建一个新组stuff;查看group文件
• 创建新帐户user03,并把他的起始组和附属组都设为stuff;查看group文件
• 给组stuff设置组密码
• 在组stuff中删除用户user02;再次查看group文件
• 删除组stuff
3. 用Linux-conf创建用户和组

Linux网络操作系统及应用教程(项目式)

实践作业
根据以下需求写出具体实施方案及配置命令:
• 某企业配置Linux操作系统,需要在该系统上为三个部
门规划如下账户信息:
1、为每个部门建立一个组群,并设置组群口令
2、假设每个部门中有一个经理,五个普通员工,为每个员
工建立一个用户账户,并设置账户口令
3、把部门中的用户添加到部门组群中
4、为部门经理的用户帐户改名

Linux网络操作系统及应用教程(项目式)

小结
项目三主要介绍了用户和组群文件以及用户帐

户、组群的创建和管理。
学习完项目三应能够使用命令、用户管理器以
及配置文件对用户和组群进行操作。