《【教学课件】第5章Linux系统用户与组管理.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第5章Linux系统用户与组管理.ppt(56页珍藏版)》请在三一办公上搜索。
1、第5章 Linux系统用户账号与组管理(书上第7章),教学内容,5.1 账号基本知识5.2 用户和组账号管理5.3 查看登录用户及日志文件信息,理解对用户和工作组管理的基本概念及 相关的管理方法。,教学目标:,5.1 用户账号,为了满足多个用户在Linux操作系统的管理下工作,需要实现以下功能:(1)多个用户既可以共享系统资源又可以独立地完成各自的工作。(2)同时为所有用户的私有数据提供安全保密服务,对系统的共享数据实施监控与调配。(3)随时记录和监控系统分配给用户资源和资源的使用情况从而用户进入系统之前必须向系统管理员申请一个帐户,得到合法帐户后才可注册登录到系统。,1.用户(User)用户
2、:指登录系统并运用系统资源工作的人,对于系统而言,就是一个账号对应于一个用户。按照使用权限将用户分为:超级用户(root):管理普通用户和系统资源。普通用户:管理自己的目录和文件,设置邮件传送和接收。,普通用户 Normal user登录系统能够并管理用户自己的资源授权下访问其他资源 每个用户有唯一的 ID可以通过网络或者虚拟终端登录系统超级用户(管理员)administrator登录系统并实现对系统资源的管理进行用户账号管理,系统维护和相关设置以root账号登录系统,访问所有的超级用户文件和程序,Home directories(主目录)每个用户都有一个主目录,用于文件管理用户在这个目录下进
3、行文件管理和操作/home/用户名/home/zgq Root用户的主目录是/root,2.用户组(Group),用户组(group)就是具有相同特征的用户(user)的集合体。用户和用户组的对应关系是:一对一:某个用户可以是某个组的唯一成员。多对一:多个用户可以是某个唯一的组的成员,不归属其它用户组。一对多:某个用户可以是多个用户组的成员。多对多:多个用户对应多个用户组,并且几个用户可以是归属相同的组;其实多对多的关系是前面三条的扩展。,3.用户账号文件passwd passwd 是一个文本文件,用于定义系统的用户账号,该文件位于“/etc”目录下。它包含了一个系统账户列表,给出每个账户一些
4、有用的信息,例如,用户 ID、组 ID、主目录、shell等等。由于所有用户都对passwd有读权限,所以该文件中只定义用户账号,而不保存口令。passwd文件中每行定义一个用户账号,一行中又划分为多个字段定义用户的账号的不同属性,各字段用“:”隔开。,User account:pwd:UID:GID:personal infor.:Home:SHELL,表4-1 passwd文件各字段说明字段说明account使用者在系统中的名字,它不能包含大写字母。password用户口令,出于安全考虑,现在不使用该字段保存口令,而用字母“x”来填充该字段,真正的密码保存在shadow文件。UID用户 I
5、D 号,惟一表示某用户的数字。GID用户所属的私有组号,该数字对应group文件中的GID。GECOS这字段是可选的,通常用于保存用户命名的信息。Directory用户的主目录,用户成功登录后的默认目录。shell 用户所使用的shell,如该字段为空则使用“/bin/sh”。,masir:x:502:502:/home/masir:/bin/bash,4.用户口令文件shadow,它位于/etc目录下,保存的是加密后的口令及口令管理信息。在shadow文件中,每行定义了一个用户信息,与passwd文件中的行是一一对应的,行中各字段用“:”隔开,为9个域。,usename:password:l
6、ast:may:must:warn:expire:disable:reserved,usename 登录名password加密口令last口令最后一次修改时间,距离1970年1月1日算起的天数may 两次修改口令之间多需要的最小天数must 口令保持有效的最大天数(有效期)warn 口令失效前开始警告用户的天数expire 超过密码过期天数后,就关闭该账号disable 账号关闭,以从1970年1月1日算起的天数reserved 预备栏位,5.用户组账号文件group 用户组是逻辑地组织用户账号集合的方便途径,它允许用户在组内共享文件。系统上的每一个文件都有一个用户和一个组的属主。使用“ls
7、l”命令可以看到每一个文件的属主和组。用户信息组放在/etc/group文件中,记录的格式为:groupname:passwd:GID:userlist表4-2 group文件字段说明字段说明groupname是组的名字passwd是组的加密口令GID是系统区分不同组的id,在/etc/passwd域中的GID 域是用这个数来指定用户的缺省组。userlist 是用“,”分开的用户名,列出的是这个组的成员。,6.用户口令文件gshadow它用于定义用户组口令、组管理员等信息,该文件放在/etc目录下,只有root用户可以读取。gshadow文件中每行定义一个用户组信息,行中各字段间用“:”分隔
8、,每行记录的格式为:groupname:Encrypted password:Group administrators:Group members表4-3 group文件字段说明字段说明Groupname 用户组名称,该字段与group文件中的组名称对应Encrypted password用户组口令,该字段用于保存已加密的口令Group administrators组的管理员账号,管理员有权对该组添加删除账号Group members属于该组的用户成员列表,列表中多个用户间 用“,”分隔。,5.2 用户和组账户管理,GUI方式用户管理命令式用户管理增加、删除用户账号增加、删除组账号管理 pas
9、sword,5.2.1 用户和组账户的维护命令,1.增加用户帐号(P202)在命令行下使用 useradd(或adduser)命令:useradd option 用户名,Option 说明-d dir 设置主目录-e date 设置帐号有效期为date-f days 密码终止days后停止帐号使用-g group 设置该帐号的原始组-m 创建主目录-s shell 设置登陆SHELL-u UID 设置帐号-G group 设置所属组,下面通过增加一个用户“zgqiong”,以及查看其相关信息,来帮助用户理解该命令所执行的操作。#useradd zgqiong/建立用户账号#tail-l/etc
10、/passwd/查看password文件中添加的用户 账号信息#tail-l/etc/shadow#ls/home/查看所建立账号的主目录,用户的 UID 和 GID 是 useradd 自动选取的(root的UID和GID是0,默认的普通用户的UID和GID是从500开始的),它是将/etc/passwd 文件中的 UID 加 1,将 etc/group 文件中的 GID 加 1。,-g:用于添加用户账号时指定该用户的私有组。如不指定“-g”参数,useradd命令将自动建立与用户账号同名的组作为该账号的私有组。这一方法是为了能让新用户与其他用户隔离,确保安全性的措施“-g”选项时,其语法格
11、式如下:useradd g 组名 用户名-D:用于显示或设置useradd命令所使用的默认值命令使用的语法格式如下:useradd D-g group-b base-s shell-f inactive-e expire,password 设置用户密码:命令格式:passwd option name-l lock password(锁定密码),用户不能登录。-u unlokc(密码解锁)-d delete password(删除密码),用户下次登录不需要密码。-s display status of password(显示密码状态)口令一般由68个字符构成,可包括字母、数字及其他字符。,添加批
12、量用户,如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用 useradd一个一个地添加。在linux中创建大量用户,方法如下:(1)先编辑一个文本用户文件如user.txt,其每一行按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号。user.txt的内容如下:user001:600:600:/home/user001:/bin/bashuser002:601:601:/home/user002:/bin/bashuser003:602:602:/home/user003:/bin/bash(2)#n
13、ewusers user.txt:将用户文件user.txt中导入数据。可以执行命令cat/etc/passwd检查/etc/passwd文件是否已经出现这些用户的数据,并且用户的宿主目录是否已经创建。,(3)#pwconv:将/etc/shadow产生的shadow密码解码,然后回写到/etc/passwd中,并将/etc/shadow的shadow密码栏删掉。(4)编辑每个用户的密码对照文件,范例文件passwd.txt内容如下:user001:密码user002:密码user003:密码(5)#chpasswd passwd.txt:创建用户密码,chpasswd会将经过/usr/bin
14、/passwd命令编码过的密码写入/etc/passwd的密码栏。(6)#pwconv:将密码编码为shadow password,并将结果写入/etc/shadow。,find 可以查看用户相关信息,如用户的主目录、shell、登录数据、姓名#finger 选项 userID参选项说明选项 说明-l 以长格式显示数据(默认)-m 关闭根据用户姓名查账账号的功能-p 不显示plan及project-s 以短格式显示数据id name:查看用户的UID、GID及所归属的用户组,2.查看用户信息finger,id,3.用户切换工具 su,su 可以实现不需要重新登录系统 直接进行账户转换。,命令格
15、式:(root是默认的)su 可以切换到root,需输入root的密码。su username 切换到username。root切换到其他用户不需密码。,4.sudo特权分配,在Linux系统中,管理员往往不止一人,若每位管理员都用root身份进行管理工作,根本无法弄清楚谁该做什么。故最好的方式是:管理员创建一些普通用户,分配一部分系统管理工作给他们。对某些用户的特权必须在文件/etc/sudoers 中进行指定。例如:管理员需要允许user001用户在主机sun上执行reboot和shutdown命令,在/etc/sudoers中加入一行:user001 sun=/sbin/reboot,/
16、sbin/shutdown注意:命令一定要使用绝对路径,以避免其他目录的同名命令被执行,从而造成安全隐患。若user001用户想执行reboot命令时,只要在提示符下运行下列命令:sudo/sbin/reboot输入正确的密码,就可以重启了。如果想对一组用户(cuug组)进行定义,可以在组名前加上%,对其进行设置:%cuug ALL=(ALL)ALL,5.用户账号停用,暂停用户账号命令格式:#passwd l u1(将账号u1密码锁起来)#Passwd u u1(解除锁定,恢复用户u1账号登录)在用户口令域前加上“*”,即在/etc/passwd 或/etc/shadow 的第二个字段前加上”
17、*”。永久停用用户账号(删除用户)(1)将passwd文件中该用户的记录整行删除。(2)userdel-r 用户账号。,6.修改用户账号usermod,该命令用于来修改用户帐号的各种属性,包括用户主目录、私有组、登录、shell等内容。命令格式如下:usermod 选项 用户账号该命令的选项说明如下:-c:修改用户帐号的备注文字。-d:修改用户登入时的目录。-e:修改帐号的有效期限。-f:修改在密码过期后多少天即关闭该帐号-g:修改用户所属的群组。-l:修改用户帐号的名称-s:修改登录后所使用的shell-u:设置账号的UID-L锁定用户密码,使密码无效。-U解除密码锁定。,下面举例说明该命令
18、的使用方法:1)修改用户名,把用户名“liuyidan”改名为“lyd”,使用的命令是:#usermod l u1 user001(2)锁定“lyd”用户,使其不能登录。命令如下:#usermod L lyd(3)解锁“lyd”用户账号,使其可以登录。命令如下:#usermod U lyd注意:只用root用户可以使用此命令。,7.删除用户userdel,该命令用于删除指定的用户账号。其使用的语法格式为:userdel-r用户账号需要补充说明的是userdel命令可删除用户账号与相关的文件。不加参数,则仅删除用户账号,而不删除相关文件。参数“-r”是用来删除用户登入目录以及目录中所有文件。下面
19、举例说明该命令的使用方法:#grep lyd/etc/passwd/查询用户账号lyd是否存在#userdel lyd/删除lyd账号#grep lyd/etc/passwd/再次查询用户账号lyd是否存在#ll d/home/查询用户lyd的主目录是否还存在#userdel r lyd/删除用户的同时删除其工作主目录,注意不能删除一个已登陆进系统的帐户删除帐号前,必须先杀死属于指定帐号的运行进程。#ps-aux|grep“lyd”#kill pid,8.组增加命令groupadd,该命令可指定群组名称来建立新的群组账号。该组账号的ID值必须是惟一的,且数值不可为负。预设的最小值不得小于500
20、。该指令使用的语法格式为:groupadd-f-r-g group其中“-r”参数是用来建立系统账号,系统账号的ID值不能小于500。”-f”参数是建立普通系统账号。”-g”参数是更改组标识。下面举例说明该命令的使用方法:#groupadd lbgroup/建立组账号lbgroup#grep lbgroup/etc/group/查询group文件中lbgroup组是否 建立#groupadd r syslbgroup/建立系统组账号#grep lbgroup/etc/group/查询group文件中syslbgroup组 是否建立,9.删除组账号该命令用于删除指定的组账号,若该群组中仍包括某些
21、用户,则必须先删除这些用户后,方能删除群组。命令的语法格式为:groupdel 群组名称10.修改组:groupmod option groupOption:-n name 更改组名称-g GID 更改组的id(数字标识符)示例#groupmod n batman superman/将superman组更名为batman,11.组中用户成员的维护,改变组成员:gpasswd命令,它可用于把一个账户添加到组、把一个账户从组中删除、把一个账户设为组管理员。命令格式:gpasswd option user groupOption:-a 将用户user加入到group中-d 将用户user从group
22、中删除-r 取消组密码-A 指定组管理员-M 指定组成员,该用户拥有组管理员和组成员的全部权限注意:只有组管理员和root用户可以执行此命令示例#gpasswd a u1 class/将用户u1加入class组中。,12.groups命令groups命令用于显示指定用户所属的组,如未指定用户则显示当前用户所属的组。该命令的语法格式为:groups 用户名13.改变文件或者目录的属组命令:chgrp。语法格式为:chgrp option newgroup filename注意:只有root用户可以执行此命令,在Linux中用来进行磁盘分区管理的工具有:fdisk和parted。1.使用fdisk
23、进行分区管理(1)命令格式:fdisk 选项 设备文件 选项如下:-l:列出外围设备的分区表状况-u:搭配“l”参数列表,会用扇区数目取代柱面数目来标示每个分区的起始位置。-b:指定每个扇区的大小,通常硬盘的每个扇区是512字节,其他存储媒体则不一定。-s:将指定的分区大小输出至标准输出上,单位为块(Block)。-v:显示版本信息。,5.3 Red Hat Enterprise Linux5中磁盘分区管理(P111),fdisk命令详解:m:获取帮助 n:新建分区p:显示分区表 d:删除分区b:设置卷标 w:写入分区表t:改变分区文件系统类型v:检验分区l:显示fdisk所支持的文件系统代码
24、q:退出,(2)文件系统的建立(格式化)mkfs(P124):语法格式:mkfs 参数 分区功能:建立各种类型的文件系统并格式化参数:-t 文件系统类型:指定建立的文件系统类型-c:建立文件系统之前检查有无坏道-l 文件名:从文件中读取坏道的情况-v:显示详细情况实例:(1)#mkfs/dev/hda3(2)#mkfs-t ext3/dev/hda3 指定ext3文件系统注:建立文件系统后,可对该分区进行标签命令:e2label 分区名 新标签,(3)装载文件系统,挂载文件系统,目前有两种方法:一、通过 手工mount 来挂载,二、开机自动挂载;可使用命令:df lh查看是否被挂载上了。一.手
25、工装载 格式:mount-t 文件系统-o 选项 设备 目录参数:-t 文件系统类型:指定挂载的文件系统类型。-o 指定装载选项:主要选项有权限、用户、磁盘限额、语言编码等实例:#mount/dev/cdrom缺省装载点/mnt/cdrom#mount-t vfat/dev/fd0 缺省装载点/mnt/floppy#mount-t ext3/dev/sda1/mnt/usb#mount-o iocharset=cp936/dev/cdrom,二.开机自动装载文件系统#vi/etc/rc.d/rc.local实例:#vi/etc/rc.d/rc.local/bin/mount/dev/hda8/
26、mnt/hd8#vi/etc/fstab功能:实现启动系统时自动装载文件系统。fstab 文件系统内容与字段的说明:/dev/hda5/h5ext2defaults00 说明:要载入的设备(或标签);装载点;装载的文件系统的类型;,装载选项defaults:默认启动时自动装载 noauto:启动时不自动装载auto:自动装载 rw:读写ro:只读 sync:回写usrquota:设定文件系统进行用户配额grpquota:设定文件系统进行组配额 mod=权限值:指定被装载的文件系统操作权限备份频率:指定备份频率间隔时间(dump)(0 表示不备份,1备份)检查顺序:指用fsck检查文件系统时先后
27、顺序(0表示不检查,1需要,2跳过)注:一个设备可以被同时装载到不同的目录中,一个目录也可以同时装载不同的设备。/etc/mtab用于记录系统己装载的文件系统,三、卸载文件系统 格式:umount 参数 装载点/装载的设备 参数:-t 类型:指定卸载文件系统的类型-a:指定卸载所有的文件系统(根文件系统不能被卸载)实例:#umount/dev/cdcrom#umount-t vfat/dev/sda4,四、检测文件系统fsck命令(P128)功能:不仅能检测文件系统,还能修正文件系统的一些问题。格式:fsck 参数 设备文件参数:-p 自动修复所检测到的错误实例:#fsck#fsck-p/de
28、v/sda4注:被检测的文件系统/设备应处于未装载状态。,五、查看磁盘的文件系统及使用情况:df命令(P129)语法格式:df 选项 文件或设备 查看目录或文件所占用的磁盘空间:du命令(P129)语法格式:du 选项 文件或目录 查看目前机器中的所有磁盘及分区情况:cat/proc/partitions,5.4 在虚拟环境中进行分区设置,若是在虚拟机中安装的Red Hat Enterprise Linux系统,则可再创建一虚拟硬盘,并对该硬盘进行分区。其执行步骤如下:步骤1 关闭Red Hat Enterprise Linux系统。步骤2 点击“命令(Commands)”中的“编辑虚拟机设置
29、(Edit virtual machine settings)”。步骤3 在打开的窗口中,选择“Hard Disk 1”(SCSI 0:0),并点击“add”打开“Add Hardware Wizard”,点击“Next(下一步)”继续。步骤4 继续下一步,选择“IDE”或“SISC”硬盘,单击下一步继续。步骤5 设置“磁盘大小(Disk size)”。步骤6 单击“完成”。此时,已经完成了一个虚拟硬盘的创建。,步骤7 启动Linux系统步骤8 Linux系统启动后,打开一终端步骤9 在终端键入:fdisk l 以查看系统的分区情况步骤10 使用fdisk/dev/分区号(如:sdb)进行分区
30、设置步骤11 使用m进行帮助查看,并根据帮助进行主分区、扩展分区和逻辑分区的设置。(要求:虚拟硬盘分为3个主分区,1个扩展分区,并在扩展分区中建立2个逻辑分区)步骤12 分区建立好后,再为该分区建立文件系统,并浏览分区情况。命令为mkfs,实例:#mkfs-t ext3/dev/hdb1/指定ext3文件系统。,5.5 管理用户磁盘空间,在Linux中,可以通过使用磁盘配额来限制用户磁盘空间的使用,当用户或用户组对磁盘的使用达到限制后,如果继续操作,就会失败配额(quota):用于管理管理用户磁盘空间,设置用户主目录的容量限制。Hard limit:硬限制是每个用户或用户组不得超出的磁盘使用限
31、额Soft limit:软限制是每个用户或用户组在日常运作中应该被限制的磁盘使用限额。Grace Periods:宽限时间设置决定某人遵守软限制限额所用的时间。,管理用户磁盘空间,相关命令配额检查quotacheckquota:产生配额的信息摘要:#quota 用户|组名配额管理的开启和停止quotaon quotaoff配额管理edquota 配额总结repquotadu:统计目录(或文件)所占磁盘空间的大小。df:检查文件系统的磁盘空间占用情况。,设置配额管理步骤(P141),第一步:确定quota软件包已经安装在系统中,命令:rpm q quota相关文件:/sbin/quotachec
32、k 生成配额文件/sbin/quotaon 启动磁盘配额/sbin/quotaoff 关闭磁盘配额/usr/sbin/edquota 设定用户/组配额/usr/bin/quota 显示用户/组的配额信息,第二步、修改“/etc/fstab”,启用指定文件系统的配额,命令为:#vi/etc/fstab(在要进行磁盘配额的分区的装载选项中加上usrquota和grpquota)/dev/hda8/user ext2 dafaulfs,usrquota,grpquota 1 1(/user为创建的目录,作为磁盘/dev/hda8的挂载点)重启系统reboot。第三步、重新挂载文件系统,命令:#mou
33、nt o remount/user 第四步、生成标准的配额文件#quotacheck 参数 装载点,功能:扫瞄某一个磁盘的 quota 空间,扫瞄所得的磁盘空间结果会写入该扇区最顶端 参数:-a 自动打开所有的配额的文件系统-u 检查用户配额文件-g 检查组配额文件-m 强制以读写检查文件系统-c 指定每个启用配额的文件系统都应创建配额文件aquota.user和aquota.group配额文件。-v 显示执行过程实例:#quotacheck acvug#quotacheck-cuv/user(在/user装载点中创建用户配额文件)#quotacheck mcvug/重启系统:reboot。,
34、第五步、编辑用户和组配额信息#edquota 参数 用户名/组名 参数:-u 用户名 编辑用户的配额-g 组名 编辑组的配额-p 复制用户/组配额-t 设置软限制的超时时间实例:#edquota-u u1(设置用户u1的配额值)file system blocks soft hard inodes soft hard(文件系统)(己用块数)(block软限制)(硬限制)(已用节点数)(节点软限制)(硬限制)user 0 0 0 0 0 0#edquota g guo(设置组guo配额值)file system block soft hard inods soft hard(文件系统)(己用块数
35、)(软限制)(硬限制)(已用节点数)(节点软限制)(硬限制)user 0 0 0 0 0 0备注:0:表示没有任何限制。,第六步、设置完成后,必须重新开机再执行启动配额#quotaon 参数 装载点 参数:-a 所有配额的文件系统-u 启用用户配额-g 启用组配额-v 显详细信息实例:#quotaon avug(启动所有配额分区的用户和组配额)#quotaon u/user(启动/user分区的用户配额)注:该指令是启动 aquota.group 与 aquota.user,第八步、设置完成后,检查磁盘配额的命令#repquotaon 参数 设备名 参数:-a 所有配额的文件系统-u 列出用户
36、配额-g 列出组配额-v 显示用户或组的空间限制的详细信息实例:#repquotaon aug(启动所有配额分区的用户和组配额)#quotaon u/dev/分区号(启动指定分区的用户配额)。关闭或禁用磁盘配额命令:#quotaoff-vaug,对用户设定限制,例:系统有stu1,stu2两用户,要求管理员在分区/dev/sdb1中为两用户进行磁盘空间(5M)和创建文件(5个文件)的限制。1.创建一新的分区/dev/sdb1,并进行格式化#mkfs j/dev/sdb12.创建一挂载点/user,将/dev/sdb1挂入#mount/dev/sdb1/user3.修改分区表/etc/fstab
37、,增加usrquota,grpquota#vi/etc/fstab/dev/sdb1/user ext3 defaults,usrquota,grpqota 0 0,4.创建stu1,stu2#useradd stu1#useradd stu2 5.卸载、挂载/user#mount o remount/user(可用mount l观察是否挂载上)6.使用quota时需要aquota.user和aquota.group两个文件。执行:#quotacheck cvug/user7.开启quota,并自动创建以上两文件#quotaon vug/user,8.对stu1进行磁盘空间使用限制 edquo
38、ta u stu19.测试:(以stu1登陆,进入/user,并且chmod 750/user)$dd if=/dev/zero of=stu1 bs=1M count4$dd if=/dev/zero of=stu1 bs=1M count6$dd if=/dev/zero of=stu1 bs=1M count9 10.为stu2创建同样的使用限制 edquota p stu1 stu2备注:dd:可从标准输入或文件读取数据,根据指定的格式来转换数据,再输出数据到文件、设备或标准输出。if=:从文件读取;of=:输出至文件;bs=:将输入与输出设成指定的字节数;count=:仅读取指定的块
39、数。,FileSystem blocks soft hard inodes soft hard,对组设定限制,1.创建组qu,创建两个用户user1、user2,并将加入组qu中#useradd g qu user22.对qu进行磁盘空间使用限制 edquota g qu3.以user2登陆到/user,测试方法同9,FileSystem blocks soft hard inodes soft hard,实验4 账号管理与配额管理(操作性实验 4学时),实验内容 1。以root身份登陆,完成下列操作:创建u1,u2用户设定u1帐号的有效期为04/10/2010创建u3用户,并将其加入到u1组中暂停u2帐号恢复u2帐号,并删除u22.以root身份登陆,根据下列要求完成功能:新建组students,该组成员包含stu1,stu2,stu3;在root目录下建立一新目录students,该目录下包含三个子目录,分别为与账号同名的stu1,stu2,stu3;现要求只有students组的成员能够访问students目录,stu1对stu1目录有完全权限,对stu2、stu3可以访问,但不能修改。同理对于stu2,stu3用户要求也一样。3.分别为stu1,stu2,stu3用户分配5M磁盘配额,并将最多文件数目限制设为5,并测试。,