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