Transcript Document

第四章 用户与组群管理
刘淑蓉
4-1 用户和组群的基本概念
 用户
用户类型:超级用户、系统用户、普通用户
超级用户,拥有计算机系统的最高权限,所有系统的
设置和修改都只有超级用户才能执行;
系统用户,与系统服务相关的用户,在安装相关软件
包时自动创建,不需要改变其默认设置;
普通用户,只能操作其拥有权限的文件和目录,只能
管理自己启动的进程。
 用户属性:
用户名:用户登录时的名字
口令:用户登录时的身份验证
用户ID(UID):每个用户都拥有的唯一的识别号码
组群ID(GID):每个组群的唯一识别号码,每个用
户都属于某个组群。
用户主目录:专属于某用户的目录,用于保存该用户
的自用文件。
全称:用户的全称
登录Shell:用户登录后进入的Shell环境
用户账户信息文件-Passwd文件
用户和工作组管理
 1.用户账号文件——passwd
 Passwd 是一个文本文件,用于定义系统的用户账号,该文件位于
“/etc”目录下。它包含了一个系统账户列表,给出每个账户一些有
用的信息,例如,用户 ID、组 ID、主目录、shell等等。由于所有
用户都对passwd有读权限,所以该文件中只定义用户账号,而不保
存口令。
 passwd文件中每行定义一个用户账号,一行中又划分为多个字段定
义用户的账号的不同属性,各字段用“:”隔开。下图中显示了
passwd文件的前几行内容。在图中显示出了文件显示各用户的每一
个字段。
passwd文件各字段说明
 root:x:0:0:root:/root:/bin/bash
字
段
Account
Password
UID
GID
Comment
Directory
shell
说
明
使用者在系统中的名字,它不能包含大写字母。
用户口令,出于安全考虑,现在不使用该字段保存口令
,而用字母“x”来填充该字段,真正的密码保存在shadow
文件。
用户 ID 号,惟一表示某用户的数字。
用户所属的主要组号,该数字对应group文件中的GID。
这字段是可选的,通常用于保存用户命名的信息。
用户的主目录,用户成功登录后的默认目录。
用户所使用的shell,如该字段为空则使用“/bin/sh”。
用户口令文件——shadow
 在shadow文件中,每行定义了一个用户信息,行中各字段各字段用“:”隔
开。为进一步提高安全性,shadow文件中保存的是已加密的口令。图中显示
了shadow文件的前几行内容。
Mail 用户信息:
mail:*:12259:0:99999:7:::
username: passwd: lastchg: min: max: warn: inactive: expire: flag
Shadow文件
Shadow文件
 从图中可以看出,“/etc/shadow”文件中的每个记录用“:”隔开为9









个域,每个域的含义分别为:
username
登录名
passwd
加密口令
lastchg
口令上次更改时距1970年1月1日的天数
min
口令更改后不可以更改的天数
max
口令更改后必须再更改的天数(有效期)
warn
口令失效前警告用户的天数
inactive
口令失效后距账号被查封的天数
expire
账号被封时距1970年1月1日的天数
flag
保留未用
组群
 组群概念:为简化用户的管理,方便用户的文件共享
,Linux将具有相同特性的用户划归为一个组群,任何
一个用户都至少属于一个组群。按期性质分为:私人
组群和系统组群。
 系统组群:安装Linux及服务性程序时,系统自动设置
的组群。
 私人组群:安装完成后,由超级用户新建的组群。
 组群属性:组群名、组群ID、组群口令、附加用户
列表
用户组账号文件——group
 用户组是逻辑地组织用户账号集合的方便途径,它允许用户在组内共享文件。
系统上的每一个文件都有一个用户和一个组的属主。使用“ls –l”命令可以看
到每一个文件的属主和组。系统上的每个组,在/etc/group文件中有一行记录
,记录的格式为:
groupname : passwd : GID : userlist
 group文件字段说明:
字
段
Groupname
Passwd
GID
定
Userlist
这
说
明
组的名字
是组的加密口令
是系统区分不同组的ID,在/etc/passwd域中的GID域是用这个数来指
用户的缺省组。
是用“,”分开的用户名,列出的是这个组的成员。注意,只列出将
个组作为附加组的用户
Group文件
用户组口令文件——gshadow
 gshadow文件用于定义用户组口令、组管理员等信息,该文件只有root用
户可以读取。gshadow文件中每行定义一个用户组信息,行中各字段间
用“:”分隔,每行记录的格式为:
groupname : Encrypted password: Group administrators: Group members
 group文件字段说明
 字




段
Groupname
Encrypted password
Group administrators
Group members
”
说
明
用户组名称,该字段与group文件中的组名称对应。
用户组口令,该字段用于保存已加密的口令
组的管理员账号,管理员有权对该组添加删除账号。
属于该组的用户成员列表,列表中多个用户间用“,
分隔。
Gshadow文件
桌面环境下管理用户和组群
 新建用户
 修改用户属性
 删除用户
 新建组群
 修改组群属性
 删除组群
 显示所有用户和组群
用户和组账户的维护命令
 1. 增加用户帐号
 在命令行下使用 useradd 命令:
# useradd 用户名
 该命令做了下面几件事:




1)在 /etc/passwd 和/etc/shadow文件中各添加了一行记录;
2)新建和用户名同名的用户组,并且在/etc/group和/etc/gshadow文件中
各添加了一条记录;
3)在 /home 目录下创建新用户的主目录,并将 /etc/skel 目录中的文件
拷贝到该目录中去;但是使用了该命令后,新建的用户暂时还无法登录
,因为还没有为该用户设置口令,需要再用 passwd 命令为其设置口令
后,才能登录。用户的 UID 和 GID 是 useradd 自动选取的,它是将
/etc/passwd 文件中的 UID 加 1,将 etc/group 文件中的 GID 加 1。
useradd添加用户
 增加新用户时,系统将为用户创建一个与用户名相同的组
,称为私有组。这一方法是为了能让新用户与其他用户隔
离,确保安全性的措施 。
 下面通过增加一个用户“liusr”,以及查看其相关信息,来
帮助用户理解该命令所执行的操作。其在终端上的操作命
令及响应如图所示。
 #useradd liusr
//建立用户账号
 #less /etc/passwd
//查看password文件中添加的用户
//账号信息
 #less /etc/shadow
 #ls /home
//查看所建立账号的主目录
useradd添加用户
 useradd 选项 用户名
 其中各选项含义如下:
-c comment
-d dir
-g groupname
-G group1,group2
-s /bin/tcsh
-u userid
-r
系统账号。
用户名
指定一段注释性描述。
指定用户主目录。
指定用户所属的主用户组。
指定用户所属的附加组。
指定用户的登录Shell。
指定用户的用户号。
创建一个 UID 小于 500 的不带主目录的
指定新账号的登录名。
useradd添加用户
 # useradd –d /usr/sam sam
 此命令创建了一个用户sam,其中-d选项用来为登录名
sam产生一个主目录/usr/sam(/usr为默认的用户主目
录所在的父目录)。
 # useradd -s /bin/sh -g group –G adm,root gem
 此命令新建了一个用户gem,该用户的登录Shell是
/bin/sh,它属于group用户组,同时又属于adm和root
用户组,其中group用户组是其主组。
口令设置
 使用passwd命令
 格式:
 #passwd [选项] username
 选项:
-d delete
-l lock
-u unlock
-S status
删除用户口令
锁定用户账号
解除用户账号的锁定
显示用户账号的状态
用户属性修改命令:usermod
 格式:usermod [选项]
 主要选项:
用户名
-l 用户的新名称
-d 用户的主目录
-e 有效期限
-g 组群ID或组群名
-G 指定用户所属的附加组。
-s
-u
指定用户的登录Shell。
指定用户的用户号UID。
用户删除命令:userdel
 如果一个用户的账号不再使用,可以从系统中删除。删除用户
账号就是要将/etc/passwd等系统文件中的该用户记录删除,必
要时还删除用户的主目录。删除一个已有的用户账号使用
userdel命令,其格式如下:
 #userdel 选项 用户名
 常用的选项是-r,它的作用是把用户的主目录一起删除。
 例如:
 # userdel -r sam
 此命令删除用户sam在系统文件中(主要是/etc/passwd,
/etc/shadow, /etc/group等)的记录,同时删除用户的主目录
。
切换用户身份--su
 格式:su [-] [用户名]
 说明:
1、如果使用“-”选项,不仅切换用户身份,同时
切换用户的环境变量。
2、执行完成后,使用“exit”命令返回之前的用户
身份。
查看用户UID、GID
 格式:
id
[用户名]
 功能:
查看用户的UID、GID和用户所属组群的信息。
如果不指定用户,则显示当前用户的信息。
添加用户组
 要给系统添加组群,使用 groupadd 命令:
groupadd 选项 组名
 groupadd 的命令行选择在表中列出。
选项
描述
-g gid 组群的 GID,它必须是独特的,且大于
499。
-r
创建小于 500 的系统组群。
删除用户组
 使用命令:groupdel
 命令格式:
 #groupdel 用户组名
 注意:如果用户组是某一个用户的主要组,则该组不
能被删除,需要首先删除该用户。
groupmod和usermod命令
 作用:修改用户组名称或用户名称
 常见用法:
groupmod
 修改组名,将“tch”改为“teach”
# groupmod -n teach tch
 修改组ID,将“tch”的组ID改为“505”
# groupmod -g 505 tch
usermod
 修改用户名,把用户名“liuyidan”改名为“lyd”,使用的命令是:
# usermod –l lyd liuyidan
 锁定“lyd”用户,使其不能登录。命令如下:
# usermod –L lyd
 解锁“lyd”用户账号,使其可以登录。命令如下:
# usermod –U lyd