Linux操作系统基础与应用(CentOSStream9) 课件 张宏甫 项目7、8 管理用户与用户组、文件和目录的管理权限与所有者_第1页
Linux操作系统基础与应用(CentOSStream9) 课件 张宏甫 项目7、8 管理用户与用户组、文件和目录的管理权限与所有者_第2页
Linux操作系统基础与应用(CentOSStream9) 课件 张宏甫 项目7、8 管理用户与用户组、文件和目录的管理权限与所有者_第3页
Linux操作系统基础与应用(CentOSStream9) 课件 张宏甫 项目7、8 管理用户与用户组、文件和目录的管理权限与所有者_第4页
Linux操作系统基础与应用(CentOSStream9) 课件 张宏甫 项目7、8 管理用户与用户组、文件和目录的管理权限与所有者_第5页
已阅读5页,还剩127页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目7管理用户与用户组

学习内容学习目标项目情境思维导图任务7-1认识用户与用户组任务7-2管理用户账号任务7-3管理用户组账户拓展知识项目实训项目小结01学习目标学习目标知识目标能力目标素养目标知识目标了解用户和用户组的分类理解用户账号文件、加密口令文件理解用户组账号文件、用户组密码信息文件掌握用户账号的维护与管理掌握用户组的维护与管理能力目标理解用户和用户组的相关配置文件内容掌握Linux中用户账号的创建与维护管理,熟练使用相关命令实现账号创建、修改、删除以及密码管理等操作掌握Linux中用户组的创建与维护管理,熟练使用相关命令实现用户组创建、删除,并能够根据要求管理用户和用户组的关系掌握Linux用户和用户组的管理方法和步骤,为Linux系统管理奠定基础素养目标培养学生动手操作能力和规划管理能力02项目情境项目情境今天,经理再次交给了小陈一项新任务:根据公司的人员组成,为不同的成员创建用户并合理分组,以方便公司的管理。经过前段时间的学习,小陈已经熟练掌握了Linux操作系统的基本操作,并对自己的学习能力有了很大的信心。因此,小陈相信这项任务应该不会太困难。通过查阅资料,小陈了解到,要完成这项任务,需要了解用户和用户组的分类,掌握用户和用户组的添加、删除、管理和维护方法,以及相关文件的作用。03任务7-1认识用户与用户组任务1-1初识Linux任务目标7.1.1用户与用户组的基本概念7.1.2理解用户账号文件:/etc/passwd与/etc/shadow7.1.3理解组账号文件:/etc/group与/etc/gshadow任务目标在Linux系统中,用户角色是通过UID(用户标识)和GID(组标识)来区分的,系统根据UID和GID来识别用户的角色,而不是根据用户名。用户名只是一个方便识别用户角色的代号而已。不同的用户角色被赋予不同的系统权限。因此,小陈制定了如下的任务目标:①了解用户和用户组的基本概念。②理解用户和用户组四个文件的作用。③了解用户和用户组的相关配置文件中各个字段的含义。7.1.1用户与用户组的基本概念用户与用户组的基本概念Linux系统是一个多用户、多任务的分时服务器操作系统Linux系统可以多个用户登录,各自做各自的事情。多个用户使用同一个操作系统,每个人做自己的事,且用户间互不影响。每个人都有自己的账号密码,权限也不一样,通过用户权限来限制使用者或用户对于不同类型资源7.1.1用户与用户组的基本概念用户分类系统中每个用户都有一个独一无二的IDLinux用户是根据角色定义的,用户账号分为三类:超级用户、系统用户和普通用户。(1)超级用户:拥有对系统的最高权限,默认是root用户。UID固定为0。(2)系统用户:也叫“伪”用户或虚拟用户,这类用户不具有登录系统的能力。但却是系统运行不可或缺的。比如Bin、FTP、mail、nobody等等,这些用户一般是给系统中的程序使用,比如我们的浏览器就是nobody用户,我们匿名访问FTP只会用到用户FTP。UID取值范围在1~999之间。(3)普通用户:我们最常用的就是这类用户,由管理员创建的用于日常工作的用户,在系统中只能访问他们本身拥有的或者具有执行权限的文件。UID取值范围在1000~65535之间。7.1.1用户与用户组的基本概念用户组Linux用户组与用户一样,也是通过一个ID号来识别,用户组的ID叫做GID。用户和用户组的对应关系有:一对一、一对多、多对一和多对多。在Linux系统中用户组分为两类:主要组和附加组。(1)主要组:也称之为初始组或者基本组。创建用户的时候系统会默认同时创建一个和这个用户名同名的组,这个组就是主要组,不能把用户从主要组中删除。在创建文件时,文件的所属组就是用户的主要组。(2)附加组:除了主要组之外,用户所在的其他组,都是附加组。用户是可以从附加组中被删除的。一般用于帮助用户具有对系统中文件及其他资源的访问权限。7.1.2 理解用户账号文件记录用户的基本信息,每行代表一个用户,每一行包含7个字段,用“:”分隔。内容如下:用户配置文件——/etc/passwd文件格式如下:格式如下:

用户名:加密口令:UID:GID:注释性描述:主目录:默认登录Shell7.1.2 理解用户账号文件记录用户密码相关信息,每行代表一个用户,一行包含9个字段,用“:”分隔只有root用户可以查看内容如下:用户密码信息文件——/etc/shadow格式如下:格式如下:用户名:加密口令:最后一次修改时间:最小修改时间间隔:最大修改时间间隔:密码过期警告天数:账户禁用宽限期:账户被禁止时间:保留字段7.1.3 理解组账号文件记录用户组信息,每行代表一个用户组;每一行包含4个字段,用“:”分隔内容如下:用户组配置文件——/etc/group格式如下:格式如下:组名:组口令:组标识号:组内用户列表7.1.3 理解组账号文件记录用户组密码信息,每行代表一个组;每一行包含4个字段,用“:”分隔;只有root用户可以查看。内容如下:用户组密码信息文件——/etc/gshadow格式如下:格式如下:组名:组口令:组管理员:组成员列表04任务7-2管理用户账号任务7-2管理用户账号任务目标7.2.1

新建用户7.2.2用户切换与查看信息7.2.3维护用户信息7.2.4删除用户7.2.5批量添加用户任务目标小陈在前期的相关知识学习中已经熟练掌握了用户账号的作用,现在需要进一步学习用户账号的添加、查看用户账号状态以及用户账号信息管理等操作。为了解决这些问题,小陈需要继续学习有关用户账号管理的相关内容。因此,小陈制定了如下的任务目标:①掌握新建、删除用户。②了解用户切换和用户信息查看。③掌握用户信息的修改。④了解如何批量添加用户。7.2.1 新建用户在Linux系统新建用户可以使用useradd或者adduser命令实现。useradd命令的格式:

useradd[选项]用户名选项含义-c用户说明指定新账户的描述性内容,是/etc/passwd文件中各用户信息中第5个字段的描述性内容;-d主目录指定用户的主目录,必须写绝对路径,一定要注意权限;-D默认值显示或更改默认的useradd配置;-e曰期用户的失效曰期,格式为"YYYY-MM-DD"。也就是/etc/shadow文件的第8个字段;-uUID指定新账户的用户ID,注意UID的范围要大于1000,且不能重复。-g组名指定新账号的初始组名称或者ID。一般以和用户名相同的组作为用户的初始组,在创建用户时会默认建立初始组,一旦手动指定,则系统将不会在创建此默认的初始组目录;-G组名指定新建账号的附加组列表,将用户加入其他组,一般都使用附加组;-sShell指定账号的登录Shell,默认是/bin/bash;-o允许使用重复的UID创建用户。例如,执行"useradd-u0-otest1"命令建立用户test1,它的UID和root用户的UID相同,都是0;-m建立用户时强制建立用户的家目录(主目录)。在建立系统用户时,该选项是默认的;-M不创建用户的主目录;-r创建系统用户,也就是UID在1~999之间,供系统程序使用的用户。由于系统用户主要用于运行系统所需服务的权限配置,因此系统用户的创建默认不会创建主目录;-U创建一个和用户同名的组,并将用户添加到组中;7.2.1 新建用户useradd命令默认操作:①在/etc/passwd文件最后新增一行与新用户相关的数据②在/etc/shadow文件最后新增一行与新用户相关的密码数据③在/etc/group文件中新增一行与新用户同名的用户组④在/home目录下创建与新用户同名的目录作为新用户的主目录注意:在/home目录下创建与新用户同名的目录作为新用户的主目录[root@server~]#useraddtest1[root@server~]#useraddtest1[root@server~]#tail-1/etc/passwdtest1:x:1000:1000::/home/test1:/bin/bash<==①[root@server~]#tail-1/etc/shadowtest1:!!:19121:0:99999:7:::<==②[root@server~]#tail-1/etc/grouptest1:x:1000:<==③[root@server~]#tail-1/etc/gshadowtest1:!::<==④7.2.2 用户切换与查看信息用户切换使用su命令实现。su命令的格式:

su[选项]用户名选项含义-,-l,--login使Shell成为登录Shell-c,--command<命令>使用-c向Shell传递一条命令-m,-p,--preserve-environment

显示或更改默认的useradd配置-g,--group<组>指定主组-f,--fast向Shell传递-f选项(csh或tcsh)7.2.2 用户切换与查看信息用户切换使用su命令实现。su命令的格式:su[选项]用户名选项含义-,-l,--login使Shell成为登录Shell-c,--command<命令>使用-c向Shell传递一条命令-m,-p,--preserve-environment

显示或更改默认的useradd配置-g,--group<组>指定主组-f,--fast向Shell传递-f选项(csh或tcsh)注意:su和su-的区别-选项表示在切换用户身份的同时,当前使用的环境变量也同时切换成指定用户的。7.2.2 用户切换与查看信息id命令可以查询用户的UID、GID和附加组的信息。id命令的格式

:id用户名例7.5使用id命令查看root的UID、GID等信息。[root@server~]#idroot用户id=0(root)组id=0(root)组=0(root)7.2.3 维护用户信息修改用户信息—usermod,usermod用法和useradd非常相似。

命令格式:usermod[选项]用户名选项含义-c用户说明修改用户的注释说明信息-d主目录修改用户的主目录,需要注意的是,主目录必须写绝对路径-e日期修改用户的失效曰期-g组名修改用户的初始组或GID-uUID修改用户的UID-G组名修改用户的附加组或GID-l用户名修改用户名称-L临时锁定用户(Lock)-U解锁用户(Unlock),和-L对应-sshell修改用户的登录Shell7.2.3 维护用户信息例7.7将用户test1的登录Shell修改为/sbin/nologin,主目录改为/home/t,修改初始组为root组,改变用户的UID为1012。[root@server~]#usermod-u1012-d/home/t-groot-s/sbin/nologintest1[root@server~]#greptest1/etc/passwdtest1:x:1012:0:developer:/home/t:/sbin/nologin注意:如果/home/t不存在结果会怎样?7.2.3 维护用户信息设置用户密码—passwd

命令格式:passwd[选项]用户名选项含义-S查询用户密码的状态,也就是/etc/shadow文件中此用户密码的内容--stdin可以将通过管道符输出的数据作为用户的密码,主要在批量添加用户时使用-u解锁指名账户的密码-l锁定指名账户的密码-n天数密码的最短有效时限-x天数

密码的最长有效时限-w天数在密码过期前多少天开始提醒用户-k保持身份验证令牌不过期-i日期当密码过期后经过多少天该账号会被禁用-d删除已命名账号的密码7.2.3 维护用户信息例7.9使用root账户修改test1普通用户的密码。[root@server~]#passwdtest1//以root用户身份修改test1用户的密码更改用户test1的密码。新的密码:<==在这里输入test1用户的密码无效的密码:密码少于8个字符<==提示密码太简单,但只是提示重新输入新的密码:passwd:所有的身份验证令牌已经成功更新<==确定新密码注意:root用户可以设置自己和其他用户的密码,其他用户只能设置自己的密码。为了确保系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。7.2.3 维护用户信息例7.11设置test1用户的密码,使其具有60天变更、10天密码失效,并查看用户密码状态。[root@server~]#passwd-Stest1test1PS2022-08-090999997-1(密码已设置,使用SHA512算法。)[root@server~]#passwd-x60-i10test1调整用户密码老化数据test1。passwd:操作成功[root@server~]#passwd-Stest1test1PS2022-08-09060710(密码已设置,使用SHA512算法。)7.2.4 删除用户删除用户—userdel

命令格式:userdel[选项]用户名选项含义-f强制删除用户,即时用户当前已登录-r删除主目录和邮件池-Z为用户删除所有的SELinux用户映射7.2.4 删除用户例7.12删除用户tom在系统文件中(主要是/etc/passwd,/etc/shadow,/etc/group等)的记录,同时删除用户的主目录。[root@server~]#userdel-rtom[root@localhost~]#userdel-rtom[root@localhost~]#greptom/etc/passwd[root@localhost~]#greptom/etc/shadow[root@localhost~]#greptom/etc/group[root@localhost~]#ls-d/home/tomls:无法访问/home/tom:没有那个文件或目录<==用户主目录一同被删除7.2.5

批量添加用户Linux系统提供的快速创建大量用户的方法可采用批量添加用户。(1)编辑一个用户文本文件user.txt。每一列按照/etc/passwd文件的格式书写,要注意每个用户的用户名、UID、主目录都不可以相同,其中密码栏可以留空白或输入“x”。具体内容如下:[root@server~]#vimuser.txtuser1:x:1501:2000:user:/home/user1:/bin/bashuser2:x:1502:2000:user:/home/user2:/bin/bashuser3:x:1503:2000:user:/home/user3:/bin/bashuser4:x:1504:2000:user:/home/user4:/bin/bashuser5:x:1505:2000:user:/home/user5:/bin/bash7.2.5

批量添加用户(2)以root身份执行newusers命令,从刚创建的用户文件user.txt中导入数据,并检查/etc/passwd文件末尾的变化。root@server~]#newusers<user.txt[root@server~]#tail-5/etc/passwduser1:x:1501:2000:user:/home/user1:/bin/bashuser2:x:1502:2000:user:/home/user2:/bin/bashuser3:x:1503:2000:user:/home/user3:/bin/bashuser4:x:1504:2000:user:/home/user4:/bin/bashuser5:x:1505:2000:user:/home/user5:/bin/bash7.2.5

批量添加用户(3)执行pwunconv命令[root@server~]#vimpasswd.txtuser1:123user2:123user3:123user4:123user5:123(4)编辑每个用户的密码对照文件passwd.txt[root@server~]#pwunconv7.2.5

批量添加用户(5)以root身份执行chpasswd命令。[root@server~]#chpasswd<passwd.txt[root@server~]#tail-5/etc/passwduser1:$6$Z5V1I/Vy6$HWAfDGNkJS77964.1y9TuEDElupDPN8ob9x3TA3qOV/8XKxfOobi4gc5CXjsgBr9PXpTr5N6hPiKgvMelDt.s/:1500:2000:user:/home/user1:/bin/bash…………user5:$6$Wh18P/DC$rZTQ/7qKoXTBbmg4n9DjtU1eVYM4m1Sxdp4QgiXvlUltUXtY4C21qgi1ZTxgij.DeIDbLVAeU/QjZ2KHRsr0N/:1500:2000:user:/home/user5:/bin/bash7.2.5

批量添加用户(6)执行pwconv命令,将密码编码为密码投影,并将结果写入/etc/shadow文件。[root@server~]#pwunconv[root@server~]#tail-8/etc/shadowuser1:$6$Z5V1I/Vy6$HWAfDGNkJS77964.1y9TuEDElupDPN8ob9x3TA3qOV/8XKxfOobi4gc5CXjsgBr9PXpTr5N6hPiKgvMelDt.s/:19130:0:99999:7:::…………user5:$6$Wh18P/DC$rZTQ/7qKoXTBbmg4n9DjtU1eVYM4m1Sxdp4QgiXvlUltUXtY4C21qgi1ZTxgij.DeIDbLVAeU/QjZ2KHRsr0N/:19130:0:99999:7:::05任务7-3管理用户组账号任务7-3管理用户组账号任务目标7.3.1

新建用户组7.3.2维护用户组及其成员7.3.3删除用户组7.3.4编辑与验证用户(组)文件7.3.5批量添加用户任务目标小陈通过学习已经熟练掌握了用户账号的创建和管理。由于公司需要根据不同部门设置不同的权限,对于少量用户的管理可以通过授权实现。然而,当涉及成百上千的用户时,手动逐个授权将会很麻烦。为了提高工作效率,小陈需要掌握用户组的创建、将用户添加到用户组,以及删除用户组中的用户等相关知识和技能。因此,小陈制定了如下的任务目标。①掌握新建用户组。②掌握维护用户组及其成员。③掌握删除用户组。④了解编辑与验证用户(组)文件。7.3.1新建用户组新建用户组命令—groupadd命令

主要用来增加一个新的用户组。groupadd命令的格式如下:groupadd[选项]用户组7.3.1新建用户组groupadd命令的常用选项及含义。选项含义-gGID指定组ID-r创建系统群组-k不使用/etc/login.defs中的默认值-o允许创建有重复GID的组-p为新组使用此加密过的密码7.3.1新建用户组例7.13使用groupadd命令新建用户组。[root@server~]#groupaddstudygroup[root@server~]#grep'studygroup'/etc/groupstudygroup:x:2001:7.3.1新建用户组例7.14创建一个新用户组testgroup,并设置GID为2010。[root@server~]#groupadd-g2010testgroup[root@server~]#grep'testgroup'/etc/grouptestgroup:x:2010:7.3.2维护用户组及其成员1.groups命令

groups命令指查询用户所在组的名称,其命令格式如下:groups[用户]7.3.2维护用户组及其成员例7.15显示chen用户所属的组。[root@server~]#groupschenchen:chenguanliyuan7.3.2维护用户组及其成员2.groupmod命令

使用groupmod命令结合相关选项可对用户组的相关属性进行修改,比如修改用户组名、修改用户GID等,其命令格式如下:

groupmod[选项]

用户组groupmod命令的常用选项及含义:选项含义-gGID修改组ID-n新组名

修改组名7.3.2维护用户组及其成员例7.16将组studygroup的GID改为10000,组名修改为stugroup。[root@server~]#groupmod-g10000-nstugroupstudygroup[root@server~]#grep'stugroup'/etc/groupstugroup:x:10000:注意:建议用户不要随意修改用户名,组名和GID也不要随意修改,这样便于管理员开展工作。7.3.2维护用户组及其成员3.gpasswd命令gpasswd命令帮助系统管理员管理用户组,可以将用户加入用户组,也可以执行删除用户组中的用户、删除密码等操作,其命令格式如下:

gpasswd[选项]用户名组名gpasswd命令的常用选项及含义:选项含义-gGID选项为空时,表示给群组设置密码,仅root用户可用-r移除群组的密码,仅root用户可用-R让群组的密码失效,仅root用户可用-a将用户加入组-d将用户从组中移除-A给组指派管理员7.3.2维护用户组及其成员例7.17设置testgroup用户组的密码,将user1加入testgroup组。[root@server~]#gpasswdtestgroup#设置密码正在修改testgroup组的密码新密码:请重新输入新密码:[root@server~]#gpasswd-auser1testgroup#将user1用户加入组

[root@server~]#greptestgroup/etc/group/etc/gshadow/etc/group:testgroup:x:2010:user1/etc/gshadow:testgroup:$6$qRtDf/tSh$kkarVfaa7GE9Ks.FvsgFf4kjQwZCItcsLp/43wYl5O4IFXBkcU45jSXtWwjJG9vg5x9yp3sIIBh.FBTufHEgR/::user 7.3.3删除用户组删除用户组命令——groupdel命令格式如下:

groupdel用户组使用groupdel命令删除群组,其实就是删除/etc/gourp文件和/etc/gshadow文件中有关目标群组的数据信息。7.3.3删除用户组例7.18用groupdel命令删除用户组testgroup。[root@server~]#groupdeltestgroup[root@server~]#greptestgroup/etc/group/etc/gshadow[root@server~]#7.3.4编辑与验证用户(组)文件

Linux系统提供vipw命令和vigr命令编辑用户和组文件。Vipw命令可以修改/etc/passwd和/etc/shadow文件,vigr命令可以修改/etc/group和/etc/gshadow文件。Linux系统通过pwck命令和grpck命令,可以分别检查用户文件、用户密码文件的完整性(/etc/passwd及/etc/shadow文件),以及检查用户组文件、组密码文件的完整性(etc/group及/etc/gshadow文件)7.3.4编辑与验证用户(组)文件例7.19使用pwck命令和grpck命令检查文件的完整性。[root@server~]#pwck/etc/passwd用户“ftp”:目录/var/ftp不存在用户“saslauth”:目录/run/saslauthd不存在用户“pulse”:目录/var/run/pulse不存在用户“gluster”:目录/run/gluster不存在用户“gnome-initial-setup”:目录/run/gnome-initial-setup/不存在pwck:无改变[root@server~]#grpck06拓展知识拓展知识newgrp命令:

可以从用户的附加组中选择一个群组,作为用户新的初始组。命令的基本格式如下:

newgrp组名拓展知识例7.20创建3个用户组,即grp1、grp2和grp3,指定user1的主要组是grp1,附加组是grp2和grp3。[root@server~]#groupaddgrp1[root@server~]#groupaddgrp2[root@server~]#groupaddgrp3[root@server~]#useradd-ggrp1-Ggrp2,grp3user1[root@server~]#cat/etc/group|grepuser1grp2:x:10003:tom,user1grp3:x:10004:tom,user1拓展知识例7.21使用“su-”命令将用户切换为user1,创建目录gdir1。用newgrp命令将user1的主要组改为grp2,创建目录gdir2。用newgrp命令将user1的主要组改为grp3,创建目录gdir3。使用ll命令查看gdir1、gdir2、gdir3目录所属的主要组。[root@server~]#su-user1[user1@server~]$mkdirgdir1[user1@server~]$newgrpgrp2[user1@server~]$mkdirgdir2[user1@server~]$newgrpgrp3[user1@server~]$mkdirgdir3[user1@server~]$lldrwxr-xr-x.2user1grp367月2616:03gdir3drwxr-xr-x.2user1grp167月2615:56gdir1drwxr-xr-x.2user1grp267月2615:56gdir207项目实训项目实训Linux系统作为一个多用户、多任务的分时操作系统,能够方便地支持多个用户同时使用和共享资源,并确保系统的安全性。在实际生产中,读者需要根据公司的人员组成,为不同的人员创建用户账号并合理分组,同时为不同用户设置适当的权限,以方便公司的管理。通过前面的学习,小陈已经对Linux系统中用户和用户组的管理有了一定的了解。现在,小陈将通过具体的实训来进一步加强实践技能,以提升对用户和用户组管理的掌握程度。就让我们和小陈一起完成“管理用户和用户组”的实训吧!此部分内容请参考本书配套的活页工单——“工单7.管理用户和用户组”。THEENDTHANKS项目8文件和目录的管理权限与所有者

学习内容学习目标项目情境任务8-1理解文件和目录的权限任务8-2管理文件和目录的权限任务8-3管理文件和目录的所有者拓展知识项目实训项目小结01学习目标学习目标知识目标能力目标素养目标知识目标了解文件和目录的权限掌握文件和目录的权限管理掌握文件访问控制列表的管理掌握文件和目录所有者的更改能力目标能够进行Linux操作系统文件和目录的权限管理,熟悉文件权限的管理工具掌握Linux操作系统权限管理的实际应用掌握setfacl和getfacl命令对用户进行权限控制应用掌握利用命令进行文件和目录所有者的修改素养目标能够严格按照职业规范要求进行任务实施增强学生数据安全的意识02项目情境项目情境在实际工作中,公司的各个部门都拥有自己的服务器资源和目录,多个用户共同使用同一个系统时,文件和目录的权限管理变得尤为重要,这直接关系到整个Linux系统的安全性。小陈的领导要求他根据公司不同部门的需求,按照员工的具体工作职能(例如研发、运维和数据库管理员),实现对Linux服务器管理权限的最小化和规范化。为了解决这个问题,小陈咨询了师傅老王,并了解到合理有效地管理文件权限的前提是掌握文件权限和所有者等相关知识。03任务8-1理解文件和目录的权限任务8-1理解文件和目录的权限任务目标8.1.1了解文件和目录的权限8.1.2理解ls-l命令获取的权限信息任务目标Linux系统中的所有文件和目录都具有访问权限,这些权限决定了用户和用户组能否对文件进行访问以及可以执行哪些操作。对于网络运维人员来说,管理Linux系统的文件权限是必备的技能之一。因此,为了胜任目前的工作,小陈需要掌握文件和目录的权限管理。因此,小陈制定了如下的任务目标:①了解文件和目录的权限。②理解文件和目录的权限信息。8.1.1了解文件和目录的权限在Linux系统中,用户对文件或目录的访问身份可以分为三种类型:所有者:文件的创建者所属组:与所有者同组的所有用户其他用户:其他组的用户8.1.1了解文件和目录的权限在Linux系统规定了这三种身份类型对文件所拥有的可读(r)、可写(w)、可执行(x)等权限。一般文件和目录文件中,这三种权限的含义有所区别,具体如下:一般文件:可读表示读取文件的内容;可写表示能够编辑、新增、修改、删除;可执行表示运行一个脚本程序。目录文件:可读表示读取目录内的文件列表;可写表示能够在目录内新增、删除、重命名文件;可执行表示能够进入到该目录,能查看目录中文件的详细属性。注意:root账户不受文件权限的读写限制,但执行权限受限制。8.1.2理解ls-l命令获取的权限信息Linux系统中每个文件都有一组权限位,可通过执行ls-l或ll命令查看。每一行分为7个部分,以第一行为例,来介绍主要字段的含义,具体如下:8.1.2理解ls-l命令获取的权限信息文件类型:Linux文件属性中第一列由10个字符组成,第一个字符一般用来区分文件类型,具体的字符和对应的含义如表8.1所示。表8.1表示文件类型的字符及对应含义字符含义-表示一个普通的文件l表示一个符号链接文件,实际上它指向另一个文件d表示是一个目录b表示块设备文件c表示字符设备文件p表示管道,一种进程间通信的方式s表示套接字,与管道不同的是,它们可以在不同主机上的进程间通信8.1.2理解ls-l命令获取的权限信息(2)文件类型:第2~10个字符用来表示文件权限,3个字符为一组,且均为r、w、x这3个字符的组合。r表示可读,w表示可写,x表示可执行。04任务8-2管理文件和目录的权限任务8-2管理文件和目录的权限任务目标8.2.1设置文件和目录的基本权限8.2.2设置文件和目录的特殊权限8.2.3设置文件和目录的默认权限8.2.4设置文件访问控制列表的访问权限

任务目标通过对之前项目的学习,小陈对文件和目录的访问权限有了一定的了解,并学会了如何查看文件权限,以及各权限的具体含义。然而,小陈在修改文件权限时遇到了困难,不知道如何进行修改,以及可以使用哪些命令来实现修改。现在,小陈带着这些问题,需要找到解决的方法。因此,小陈制定了如下的任务目标。①掌握设置文件和目录的基本权限的命令及方法。②掌握设置文件和目录的特殊权限的命令及方法。③掌握设置文件和目录的默认权限的命令及方法。④掌握设置文件访问控制列表访问权限的常用命令。8.2.1设置文件和目录的基本权限在Linux系统通过chmod命令设置基本的文件权限,具体实现有两种设置方法:一种是数字表示法,一种是字符表示法。1.数字表示法chmod命令格式如下:

chmod[-R]xyz文件或目录数字表示法,是将可读、可写及可执行各权限分别以数字4、2、1表示,没有授予权限的部分用0表示。要想得出每种身份(所有者、所属组、其他用户)最终的权限数字,需要对所有权限的表示数字进行累加。例如,将某文件权限设置为rwxrw-r--,数字表示法如下:所有者=rwx=4+2+1=7所属组=rw-=4+2+0=6其他用户=r--=4+0+0=4。因此通过chmod命令修改权限时,该文件的权限数字就是764。8.2.1设置文件和目录的基本权限例8.1将user.txt这个文件所有的权限都设定启用,即所有人员都有rwx权限,命令及运行结果如下。[root@server~]#ls-luser.txt-rw-r--r--.1rootroot3605月1809:18user.txt[root@server~]#chmod777user.txt[root@server~]#ls-luser.txt-rwxrwxrwx.1rootroot3605月1809:18user.txt8.2.1设置文件和目录的基本权限2.字符表示法字符表示法是一种包含字母和操作符表达式的文件权限修改方法,用加、减符号表示增加或者减少权限。chmod命令采用字符表示法的格式如下:

8.2.1设置文件和目录的基本权限例8.2将test文件权限设置为-rwxr-xr-x,命令及运行结果如下。[root@server~]#ls-ltest-rw-r--r--.1rootroot07月2209:31test[root@server~]#chmodu=rwx,g=rx,o=rxtest[root@server~]#ls-ltest-rwxr-xr-x.1rootroot07月2209:31test8.2.1设置文件和目录的基本权限例8.3将test文件所有用户的可执行权限去掉,命令及运行结果如下。[root@server~]#chmoda-xtest[root@server~]#ls-ltest-rw-r--r--.1rootroot07月2209:31test8.2.2设置文件和目录的特殊权限SUID

SUID(SetUserID):s标志出现在文件所有者的x权限时称为SUID。允许用户以文件所有者的权限来执行文件。SUID命令格式8.2.2设置文件和目录的特殊权限例8.4增加普通用户对/usr/bin/cp命令的特殊权限。[root@serverbin]#ll/usr/bin/cp-rwxr-xr-x.1rootroot1528241月2921:09/usr/bin/cp[root@serverbin]#chmodu+s/usr/bin/cp或者[root@serverbin]#chmod4755/usr/bin/cp[root@serverbin]#ll/usr/bin/cp-rwsr-xr-x.1rootroot1528241月2921:09/usr/bin/cp[root@serverbin]#chmodu-s/usr/bin/cp[root@localhostbin]#ll/usr/bin/cp-rwxr-xr-x.1rootroot1528241月2921:09/usr/bin/cp8.2.2设置文件和目录的特殊权限2.SGID

SGID(SetGroupID)当s出现在用户组的x权限时称为SGID。SGID权限作用:SGID权限主要让执行者临时拥有所属组的权限,适用于可执行文件和目录。对于可执行文件,执行者获取的权限不再是文件所有者的临时权限,而是文件所属组的权限。对于目录,创建的文件将自动继承该目录的用户组,而不再是创建者的基本用户组。8.2.2设置文件和目录的特殊权限设置SGID权限的命令格式8.2.2设置文件和目录的特殊权限例8.5在/tmp/目录下建立测试目录dir1并赋予一定的权限,给目录dir1/加上SGID权限,切换到普通用户testuser1,在dir1/中新建aaa文件,验证aaa文件的所属组是dir1这个目录的用户组,命令及运行结果如下。[root@servertmp]#mkdirdir1[root@servertmp]#chmod777dir1[root@servertmp]#chmod-Rg+sdir1[root@servertmp]#lldrwxrwsrwx.2rootroot67月2313:23dir1[root@servertmp]#su-testuser1[testuser1@server~]$cd/tmp[testuser1@servertmp]$touchqqq[testuser1@servertmp]$lldrwxrwsrwx.2rootroot67月2313:23dir1-rw-rw-r--.1testuser1testuser107月2313:31qqq[testuser1@servertmp]$cddir1[testuser1@serverdir1]$touchaaa[testuser1@serverdir1]$ll-rw-rw-r--.1testuser1root07月2408:12aaa8.2.2设置文件和目录的特殊权限3.SBIT

SBIT即StickyBit简称。t出现在其他用户权限的执行位上。SBIT权限作用:主要用于目录,用于控制文件在目录中的删除权限。以防止其他用户意外删除他人文件,提高文件的安全性。8.2.2设置文件和目录的特殊权限设置SBIT权限的命令格式8.2.2设置文件和目录的特殊权限例8.6创建目录/dir,设置用户权限为777,并设置SBIT权限。切换为testuser1用户,在/dir目录下创建file1,之后再切换为testuser2用户,尝试删除file1文件,看是否成功[root@server~]#mkdir/dir[root@server~]#chmod1777/dir#设置目录权限[root@server~]#ls-ld/dirdrwxrwxrwt.2rootroot68月1022:04/dir[root@server~]#su-testuser1#切换为testuser1用户[testuser1@server~]$touch/dir/file1[testuser1@server~]$ls-ld/dir/file1-rw-r--r--.1testuser1testuser108月1022:19/dir/file1[testuser1@server~]$su-testuser2#切换为testuser2用户[testuser2@server~]$rm/dir/file1rm:无法删除'/dir/file1':不允许的操作

[testuser2@server~]$ls-ld/dir/file1#文件存在,删除失败-rw-r--r--.1testuser1testuser108月1022:19/dir/file1[testuser2@server~]$su–testuser1#切换为testuser1用户[testuser1@server~]$rm/dir/file1rm:是否删除普通空文件'/dir/file1'?y[testuser1@server~]$ls/dir[testuser1@server~]$#目录为空,删除成功8.2.3设置文件和目录的默认权限默认权限是什么?

默认权限指在特定情况下linux系统为新创建的文件或目录自动分配的权限设置。这些权限设置决定了文件或目录的所有者、所属组和其他用户在访问、修改或执行该文件或目录时的权限级别。默认权限是根据系统的umask值计算得出的。默认权限是系统为了安全性和可管理性而设定的一种机制。它确保了新创建的文件和目录具有适当的权限设置,避免了一些潜在的安全风险。8.2.3设置文件和目录的默认权限umask介绍

umask又称"用户掩码"是一个用来控制新创建文件和目录权限的权限掩码。在linux系统中,umask值决定了在创建新文件或目录时要从默认最大权限中减去的权限。文件和目录的默认最大权限文件的默认最大权限是666(rw-rw-rw-)目录的默认最大权限是777(rwxrwxrwx)8.2.3设置文件和目录的默认权限umask语法格式

8.2.3设置文件和目录的默认权限例8.7以root用户登录,查看umask值,命令及运行结果如下。[root@server~]#umask#查看当前umask0022[root@server~]#umask-p#-p选项表示完整显示umask值umask0022[root@server~]#umask-S#-S选项表示直接显示默认权限u=rwx,g=rx,o=rx[root@server~]#umask-p-Sumask-Su=rwx,g=rx,o=rx8.2.3设置文件和目录的默认权限例8.8查看创建目录及文件的默认权限,命令及运行结果如下。[root@server~]#touchtextfile[root@server~]#mkdirtestdir[root@server~]#ls-ltextfile-rw-r--r--.1rootroot07月2418:59textfile[root@server~]#ls-ldtestdir/drwxr-xr-x.2rootroot67月2419:01testdir/8.2.3设置文件和目录的默认权限例8.9修改/usr/tmp目录默认权限,保留所有者权限,其他用户和组没有任何权限。新建目录testdir2、文件textfile2,查看默认权限,命令及运行结果如下。[root@server~]#cd/usr/tmp[root@servertmp]#umask0022[root@servertmp]#umask0077[root@servertmp]#umask0077[root@servertmp]#mkdirtestdir2[root@servertmp]#touchtextfile2[root@servertmp]#ls-ldtestdir2/drwx------.2rootroot67月2419:21testdir2/[root@servertmp]#ls-ltextfile2-rw-------.1rootroot07月2419:21textfile28.2.4设置文件访问控制列表的访问权限ACL含义:ACL是AccessControlList(访问控制列表)的缩写。针对指定的用户或用户组设置文件或目录的操作权限。

ACL访问权限主要通过setfacl和getfacl命令来实现。8.2.4设置文件访问控制列表的访问权限setfacl语法格式基本命令格式:特殊用户和组的命令格式:setfacl[选项]文件名称setfacl[选项][u:用户名:权限]文件名称setfacl[选项][g:组名:权限]文件名称8.2.4设置文件访问控制列表的访问权限setfacl命令常用选项及含义选项含义-m修改文件的ACL权限-M从文件中读取ACL权限并修改相关信息-x删除指定用户或组的ACL权限-X从文件中读取ACL权限并删除-b删除所有的ACL权限-R递归对所有文件及目录进行操作-k删除默认ACL权限8.2.4设置文件访问控制列表的访问权限例8.10使用setfacl命令设置普通用户testuser1对/root目录的访问权限[root@server~]#su-testuser1[testuser1@server~]$cd/root-bash:cd:/root:权限不够[testuser1@server~]$ls-ld/rootdr-xr-x---.15rootroot40968月1216:39/root[testuser1@server~]$su-密码:#此处输入root账户密码[root@server~]#setfacl-Rmu:testuser1:rwx/root/[root@server~]#su-testuser1[testuser1@server~]$cd/root[testuser1@serverroot]$ls-ld/rootdr-xrwx---+15rootroot40968月1216:39/root8.2.4设置文件访问控制列表的访问权限getfacl语法格式基本命令格式:getfacl[选项]文件名称8.2.4设置文件访问控制列表的访问权限getfacl命令常用选项及含义选项含义-a显示文件的ACL-d显示默认的ACL-e显示所有有效的权限-c不显示注释表头-R递归显示子目录-a显示文件的ACL-d显示默认的ACL8.2.4设置文件访问控制列表的访问权限例8.11使用getfacl命令显示/root目录ACL权限,然后删除testuser1用户对/root目录的ACL权限[root@server~]#getfacl/rootgetfacl:Removingleading'/'fromabsolutepathnames#file:root#owner:root#group:rootuser::r-xuser:testuser1:rwxgroup::r-xmask::rwxother::---[root@server~]#setfacl-xu:testuser1/root/#删除ACL权限[root@server~]#getfacl-c/rootgetfacl:Removingleading'/'fromabsolutepathnamesuser::r-xgroup::r-xmask::r-xother::---05任务8-3管理文件和目录的所有者任务8-2管理文件和目录的权限任务目标8.3.1提升普通用户权限8.3.2更改文件和目录的所有者

任务目标小陈通过之前的学习已经掌握了设置文件和目录的基本权限、特殊权限、默认权限及ACL权限等基础知识,同时也学习了相关的命令和方法。然而,他发现在以普通用户身份执行某些命令或对特定文件和目录进行操作时,系统会提示权限不足。在这种情况下,师傅告诉他可以通过提升权限的方法来解决问题。为了解决这类问题,小陈迅速投入新的学习任务中。因此,小陈制定了如下的任务目标。①掌握提升普通用户权限的方法。②会利用命令更改文件和目录的所有者。8.3.1提升普通用户权限1.sudo命令sudo允许普通用户以其他用户的身份执行命令,通常是以超级用户(root)的身份执行需要特权的操作。

sudo的配置文档是/etc/sudoers。基本命令格式:

sudo[选项]命令名称8.3.1提升普通用户权限sudo命令常用选项及含义选项含义-l显示当前用户可执行的命令-u以指定的用户身份执行命令-k结束密码的有效时间,下次执行sudo时需要再次进行密码验证-b在后台执行指令-p更改询问密码的提示信息-h获取帮助信息-l显示当前用户可执行的命令8.3.1提升普通用户权限例8.12以testuser1用户身份执行passwd命令来修改testuser2用户的密码。[root@server~]#su-testuser1[testuser1@server~]$passwdtestuser2passwd:只有root用户才能指定用户名。[testuser1@server~]$sudopasswdtestuser2我们信任您已经从系统管理员那里了解了日常注意事项。总结起来无外乎这三点:#1)尊重别人的隐私。#2)输入前要先考虑(后果和风险)。#3)权力越大,责任越大。[sudo]testuser1的密码:更改用户testuser2的密码。新的密码:无效的密码:密码少于8个字符重新输入新的密码:passwd:所有的身份验证令牌已经成功更新。8.3.1提升普通用户权限1.visudo命令

visudo作用:

用于编辑/etc/sudoers文件的工具,它提供了一个安全的方式来编辑sudo配置文件。基本命令格式:visudo[选项]8.3.1提升普通用户权限sudo命令常用选项及含义选项含义-c检查sudoers文件的语法,但不进行编辑-f文件指定要编辑的sudoers文件路径。如果不指定,则默认编辑/etc/sudoers文件-q在语法检查期间,不显示警告信息。8.3.1提升普通用户权限例8.13允许用户user1执行/sbin/reboot命令而无需输入密码。[root@server~]#sudovisudouser1ALL=(ALL)NOPASSWD:/sbin/reboot[root@server~]#su-user1[user1@server~]$sudo/sbin/reboot8.3.2更改文件和目录的所有者1.更改文件所属组—chgrp命令作用:

用于更改文件或目录的所属组的命令。基本命令格式:

chgrp所属组文件名/目录名8.3.1提升普通用户权限例8.14以root用户身份创建文件root.txt,看看root.txt属于哪个组,然后将这个文件的所属组更改到testgroup组[root@server~]#touchroot.txt[root@server~]#groupaddtestgroup[root@server~]#ls-lroot.txt-rw-r--r--.1rootroot07月2512:38root.txt[root@server~]#chgrptestgrouproot.txt[root@server~]#ls-lroot.txt-rw-r-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论