第 7讲 帐户管理
杨忠义
重点内容
? 账户实质
? 账户文件
? 账户设置
学习目标
? 理解账户实质
? 熟悉账户配置文件
? 学会设置和管理口令
第 7讲 帐户管理
7.1 账户概述
7.2 命令行工具管理帐户
7.3 图形用户管理工具
7.1 账户概述
? 账户实质
? Linux中的账户
? 用户和组的关系
? 帐户管理的内容
? 系统账户文件
? Red Hat 账户管理的特性
? 与账户管理相关的其他文件或目录
账户实质
? 账户实质上就是一个用户在系统上的标识,
系统依据账户来区分每个用户的文件,进
程、任务,给每个用户提供特定的工作环
境(如用户的工作目录,shell版本,以及
X-Windows环境的配置等),使每个用户
的工作都能独立不受干扰地进行。
Linux中的账户
? 用户账户
? 超级用户,UID=0,GID=0
? 普通用户,UID>=500
? 伪用户,0<UID<500
? 组账户
? 标准组:标准组可以容纳多个用户,若使用标准组,
在创建一个新的用户时就应该指定他所属于的组。
? 私有组:私有组中只有用户自己。当在创建一个新
用户 user时,若没有指定他所属于的组,Red
Hat 就建立一个和该用户同名的私有组。
用户和组的关系
? 组是用户的集合。一个标准组可以容纳多
个用户。
? 同一个用户可以同属于多个组,这些组可
以是私有组,也可以是标准组。
? 当一个用户同属于多个组时,将这些组分
为:
? 主组:用户登录系统时的组。
? 附加组:可切换的其他组。
帐户管理的内容
? 控制帐户的登录
? 维护帐户的基本信息
? 实现帐户 (含组帐户 )的创建、删除、修改等
功能
系统账户文件
? 用户口令文件 /etc/passwd
? 文件权限,(-rw-r--r--)
? 用户影子口令文件 /etc/shadow
? 文件权限,(-r--------)
? 组账号文件 /etc/group
? 文件权限,(-rw-r--r--)
? 组口令文件 /etc/gshadow
? 文件权限,(-r--------)
Red Hat 账户管理的特性
? 默认启用 shadow passwords功能。
/etc/passwd文件对任何用户均可读,为了增加系
统的安全性,用户的口令通常用 shadow
passwords保护。
? 经过 shadow passwords保护的账户密码和相关设
置信息保存在 /etc/shadow文件里。
/etc/shadow只对 root用户可读。
? 默认使用 MD5算法的用户口令。
? 一般不设置组口令。因为绝大多数应用程序不使用
组口令。
? Red Hat 建议尽量使用私有组来提高系统安全性。
Red Hat 账户管理的特性
? Red Hat 不建议管理员直接编辑修改系统账
户文件来维护账户。若用户直接编辑了账户文
件,建议使用账号文件的一致性检测命令。
? pwck命令:检测文件, /etc/passwd”和
,/etc/shadow” 的每行中字段的格式和值是否
正确。
? grpck命令:检测文件, /etc/group”和
,/etc/gshadow”的每行中字段的格式和值是否
正确。
与账户管理相关的其他文件或目录
? 用户配置文件
? /etc/login.defs
? /etc/default/useradd
? 初始用户工作环境目录
? /etc/skel
7.2 使用命令行工具管理帐户
? 添加用户账号
? 修改用户账号
? 删除用户账号
? 添加组账号
? 修改组账号
? 删除组账号
? 口令管理与口令时效
添加用户账号
? 命令格式,# useradd [<选项 >] <
用户名 >
? 常用选项:
? -g group:指定新用户的主组。
? -G group:指定新用户的附加组。
? -d directory:指定新用户的自家目录。
? -s shell:指定新用户使用的 Shell,默认为
bash。
? -e expire:指定用户的登录失效时间,例
如,08/31/2006
? -M:不建立新用户的自家目录。
添加用户账号
? 操作举例:
? # useradd user1
? # useradd -s /bin/tcsh jason
? # useradd -g mygroup -e
12/31/2006 user2
? # useradd -G staff tom
? # useradd -G ftpgrp -d /var/ftp2
-s /sbin/nologin -M anftp1
口令设置
? 使用 useradd命令创建用户账户之后需要
使用 passwd命令设置初始口令
? 格式,# passwd [<用户名 >]
? 举例:
? 为指定用户设置口令
# passwd test
? 修改用户自己的口令
$ passwd
修改用户账号
? 命令格式,# usermod [<选项 >] <用
户名 >
? 常用选项:选项与 useradd命令基本相同。
? 操作举例:
? # usermod -l user2 user1
? # usermod -G softgroup jjh
? # usermod -L user1
? # usermod -U user1
删除用户账号
? 命令格式,# userdel [<选项 >] <用户
名 >
? 常用选项,-r 用于删除用户的宿主目录
? 操作举例:
? # userdel user2
? # userdel -r user1
添加组账号
? 命令格式,# groupadd [<参数 >] <组
账号名 >
? 常用选项:
? -r:用于创建系统组账号( GID小于 500 )
? -g:用于指定 GID
? 操作举例:
? # groupadd mygroup
? # groupadd -r sysgroup
? # groupadd -g 888 group2
修改组账号
? 命令格式,# groupmod [<参数 >] <组
账号名 >
? 常用选项:
? -g:改变组账号的 GID,组账号名保持不变。
? -n:改变组账号名。
? 操作举例:
? # groupmod -g 503 mygroup
? # groupmod -n newgroup mygroup
删除组账号
? 命令格式,# groupdel <组账号名 >
? 注意事项:
? 被删除的组账号必须存在
? 当有用户使用组账号作为私有组时不能删除
? 与用户名同名的私有组账号在使用 userdel命
令删除用户时被同时删除
? 操作举例:
? # groupdel mygroup
口令管理
? 禁用用户账户口令
# passwd -l <用户账号名 >
? 查看用户账户口令状态
# passwd -S <用户账号名 >
? 恢复用户账户口令
# passwd -u <用户账号名 >
? 删除用户账户口令
# passwd -d <用户账号名 >
口令时效
? 口令时效简介
? 口令时效是系统管理员用来防止机构内不良口
令的一种技术。
? 口令时效意味着过了一段预先设定的时间后
(通常是 90天),用户会被提示创建一个新
口令。
? 强制用户在一段时间之后更改口令的机制称为
口令时效。
口令时效
? 命令格式,# chage [<选项 >] <用户名 >
? 常用选项:
? -m days:指定用户必须改变口令所间隔的最少天数。如果值为 0,
口令就不会过期。
? -M days:指定口令有效的最多天数。 当该选项指定的天数加上 -d 选
项指定的天数小于当前的日期,用户在使用该账号前就必须改变口令。
? -d days:指定自从 1970年 1月 1日起,口令被改变的天数。
? -I days:指定口令过期后,账号被锁前不活跃的天数。 如果值为 0,
账号在口令过期后就不会被锁。
? -E date:指定账号被锁的日期,日期格式为 YYYY-MM-DD。 若不用
日期,也可以使用自 1970年 1月 1日后经过的天数。
? -W days:指定口令过期前要警告用户的天数。
? -l:列出指定用户当前的口令时效信息,以确定账号何时过期。
口令时效
? 操作举例:
? 用户 user1两天内不能更改口令,并且口令最
长的存活期为 30天,并在口令过期前 5天通知
user1。
# chage -m 2 -M 30 -W 5 user1
? 查看用户 user1当前的口令时效信息。
# chage -l user1
用户和组状态命令
? 常用的用户和组状态命令
? whoami:用于显示当前用户的名称。
? groups [<用户名 >],用于显示指定用户所属的组,
如未指定用户则显示当前用户所属的组。
? id:用于显示用户当前的 uid,gid和用户所属的组列
表。
? su [-][<用户名 >],用于转换当前用户到指定的用户
账号,若不指定用户名则转换当前用户到 root。 若使
用参数, -”则在转换当前用户的同时转换用户工作环境。
? newgrp [<组名 >],用于转换用户的当前组到指定
的附加组,用户必须属于该组才可以进行。
7.3 图形用户管理工具
? 用户和组群概述
? 添加新用户
? 修改用户属性
? 添加新组群
? 修改组群属性
用户和组群概述
? 用户和组群 允许你查看、修改、添加和删除本地
用户和组群。
? 要使用 用户和组群,你必须运行 X 窗口系统,
具备根特权,并且安装了 redhat-config-users
RPM 软件包。要从桌面启动 用户管理器,点击
面板上的 「主菜单」 => 「系统设置」 =>
「用户和组群」,或在 shell 提示(如 XTerm
或 GNOME 终端)下键入 redhat-config-
users 命令。
用户和组群窗口





修改用户属性
用户属性 窗口
? 用户数据 — 显示在你添加用户时配置的基本用户信息。使用
这个标签来改变用户的全称、口令、主目录或登录 shell。
? 账号信息 — 如果你想让账号到达某一固定日期时过期,选择
「启用账号过期」 。在提供的字段内输入日期。 选择 「用户
账号已被锁」 来锁住用户账号,从而使用户无法在系统登录。
? 口令信息 — 这个标签显示了用户口令最后一次被改变的日期。
要强制用户在一定天数之后改变口令,选择 「启用口令过
期」 。你还可以设置允许用户改变口令之前要经过的天数,
用户被警告去改变口令之前要经过的天数,以及账号变为不
活跃之前要经过的天数。
? 组群 — 选择你想让用户加入的组群以及用户的主要组群。
添加新组群






小结
账户概述
命令行工具管理帐户
图形用户管理工具
作业
? 教材 P86
1,3