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