230 likes | 436 Views
1 . 项目课题引入. 2 . 文件权限的概念与原理. 3 . 文件权限的类型. 4 . 文件权限的设置方法. 5 . 现场演示案例. 课题引入 —— 项目背景. 在用户 test 的家目录中有一个 shell 脚本 , 该脚本的名字 是 bird.sh 。由于开发脚本时的疏忽,该脚本对所有用户 都有读、写和可执行权限。现在需要修改该脚本满足下 列要求: 对于 test 用户,对 bird 脚本用于读、写、可执行权限 对于 test 组的用户,拥有读和可执行权限 对于其它用户,没有任何权限. 课题引入 —— 项目分析. 完成本项目需要解决的问题:
E N D
1. 项目课题引入 2. 文件权限的概念与原理 3. 文件权限的类型 4. 文件权限的设置方法 5. 现场演示案例
课题引入——项目背景 在用户test的家目录中有一个shell脚本,该脚本的名字 是bird.sh。由于开发脚本时的疏忽,该脚本对所有用户 都有读、写和可执行权限。现在需要修改该脚本满足下 列要求: • 对于test用户,对bird脚本用于读、写、可执行权限 • 对于test组的用户,拥有读和可执行权限 • 对于其它用户,没有任何权限
课题引入——项目分析 完成本项目需要解决的问题: 1、文件权限是什么意思? 2、文件权限的类型有哪些? 3、如何设置和修改文件权限?
课题引入——教学目标 学习本课需要实现的教学目标: • 掌握文件权限的基本概念 • 掌握文件权限的类型 • 掌握文件权限的设置方法 • 掌握使用各种文件系统
课题引入——应达到的职业能力 学生学习本课后应该具有的职业能力: • 使用字符表示方式设置文件权限的能力 • 使用数字方式设置文件权限的能力 • 对linux系统文件的管理能力 • 良好的团队合作能力
项目问题一文件权限概述 • 文件是操作系统用来存储信息的基本结构,是一组信息的集合。 • 文件通过文件名来唯一的标识。Linux中的文件名称最长可允许255个字符,这些字符可用A~Z、0~9、.、_、-等符号来表示。 • 与其他操作系统相比,Linux最大的不同点是没有“扩展名”的概念,也就是说文件的名称和该文件的种类并没有直接的关联,例如smaple.txt可能是一个运行文件,而sample.exe也有可能是文本文件,甚至可以不使用扩展名。 • 另一个特性是Linux文件名区分大小写。例如sample.txt、Sample.txt、SAMPLE.txt、samplE.txt在Linx系统中代表不同的文件,但在DOS和Windows平台却是指同一个文件。 • 在Linux系统中,如果文件名以“.”开始,表示该文件为隐藏文件需要使用“ls -a”命令来才能显示。
文件权限概述 • 在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。 • 通过设定权限可以从以下三种访问方式限制访问权限: • 只允许用户自己访问 • 允许一个预先指定的用户组中的用户访问 • 允许系统中的任何用户访问
文件权限概述 • 用户能够控制一个给定的文件或目录的访问程度。一个文件或目录可能有读、写及执行权限。 • 当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件。 • 文件所有者可以将这些权限改变为任何他想指定的权限。一个文件也许只有读权限,禁止任何修改。文件也可能只有执行权限,允许它想一个程序一样执行。
文件权限概述 • 三种不同的用户类型能够访问一个目录或者文件:所有者、用户组或其他用户。所有者是创建文件的用户,文件的所有者能够授予所在用户组的其他成员以及系统中除所属组之外的其他用户的文件访问权限。 • 每一个用户针对系统中的所有文件都有它自身的读、写和执行权限。 • 第一套权限控制访问自己的文件权限,即所有者权限 • 第二套权限控制用户组访问其中一个用户的文件的权限 • 第三套权限控制其他所有用户访问一个用户的文件的权限
项目问题二 文件权限的类型 • 下图中第二行开始,每一行的第一个字符一般用来区分文件的类型,一般取值为d,-,l,b,c,s,p。具体含义为: • d:表示是一个目录,在ext文件系统中目录也是一种特殊的文件。 • -:表示该文件是一个普通的文件。 • l: 表示该文件是一个符号链接文件,实际上它指向另一个文件。 • b、c:分别表示该文件为区块设备或其他的外围设备,是特殊类型的文件。 • s、p:这些文件关系到系统的数据结构和管道,通常很少见到。
文件权限的类型 • 在上面的显示结果中,每一行的第2~10个字符表示文件的访问权限。这9个字符每3个为一组,左边三个字符表示所有者权限,中间3个字符表示与所有者同一组的用户的权限,右边3个字符是其他用户的权限。代表的意义如下: • 字符2、3、4表示该文件所有者的权限,有时也简称为u(User)的权限。 • 字符5、6、7表示该文件所有者所属组的组成员的权限。例如,此文件拥有者属于“user”组群,该组群中有6个成员,表示这6个成员都有此处指定的权限。简称为g(Group)的权限。 • 字符8、9、10表示该文件所有者所属组群以外的权限,简称为o(Other)的权限
文件权限的类型 • 9个字符根据权限种类的不同,也分为3种类型: • r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。 • w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。 • x(execute,执行):对文件而言,具有执行文件的权限;对目录来说该用户具有进入目录的权限。 • -:表示不具有该项权限。
文件权限的类型 • 每个用户都拥有自己的主目录,通常在/home目录下,这些主目录的默认权限为rwx------:执行mkdir命令所创建的目录,其默认权限为rwxr-xr-x,用户可以根据需要修改目录的权限。 • 默认的权限可用umask命令修改,用法非常简单,只需执行“umask 777”命令,便代表屏蔽所有的权限,因而之后建立的文件或目录,其权限都变成000,依次类推。通常root帐号搭配umask命令的数值为022、027和077,普通用户则是采用002,这样所产生的默认权限依次为755、750、700、775。
特殊权限 • 文件与目录设置还有特殊权限。由于特殊权限会拥有一些“特权”,因而用户若无特殊需求,不应该启用这些权限,避免安全方面出现严重漏洞,造成黑客入侵,甚至摧毁系统。 • s或S(SUID,Set UID):可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。请注意具备SUID权限的文件,黑客经常利用这种权限,以SUID配上root帐号拥有者,无声无息地在系统中开扇后门,供日后进出使用 • s或S(SGID,Set GID):设置在文件上面,其效果与SUID相同,只不过将文件所有者换成用户组,该文件就可以任意存取整个用户组所能使用的系统资源。 • T或T(Sticky):/tmp和 /var/tmp目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。。
项目问题三 文件权限的设置方法 • 在文件建立时系统会自动设置权限,如果这些默认权限无法满足需要,此时可以使用chmod命令来修改权限。通常在权限修改时可以用两种方式来表示权限类型;数字表示法和文字表示法。 • chmod命令的格式是: • chmod 选项 文件
以数字表示法修改权限 • 所谓数字表示法是指将读取(r)、写入(W)和运行(x)分别以4、2、1来表示,没有授予的部分就表示为0,然后再把所授予的权限相加而成。
以数字表示法修改权限 • 为文件/mlx/file设置权限:赋予拥有者和组群成员读取和写入的权限,而其他人只有读取权限。则应该将权限设为“rw-rw-r--”,而该权限的数字表示法为664,因此可以输入下的命令来设置权限:
以文字表示法修改访问权限 • 使用权限的文字表示法时,系统用4种字母来表示不同的用户: • u:user,表示所有者 • g:group,表示属组 • o:others,表示其它用户 • a:all,表示以上三种用户 • 操作权限使用下面三种字符的组合表示法: • r:read,可读 • w:write,写入 • x:execute,执行。
以文字表示法修改访问权限 • 例如,要同时将/mlx目录中的所有文件权限设置为所有人都可读取及写入,应该使用下面的命令: • 利用chmod命令也可以修改文件的特殊权限。 • 例如要设置文件/mlx/file文件的SUID权限的方法为:
文件所有者与属组修改 • 要修改文件的所有者可以使用chown来设置。Chown命令格式如下所示: • chown 选项 用户和属组 文件列表 • 用户和属组可以是名称也可以是UID或GID。多个文件之间用空格分隔 • 例如要把/mlx/file文件的所有者修改为test用户,命令如下:
文件所有者与属组修改 • chown命令可以同时修改文件的所有者和属组,用“:”分隔。例如将/mlx/file文件的所有者和属组都改为test的命令如下所示: • 如果只修改文件的属组可以使用下列命令: • 修改文件的属组也可以使用命令chgrp :
作业 • 对普通用户创建的新目录,缺省的访问权限是什么? • 系统中有用户user1和user2,同属于users组。在user1用户目录下有一文件file1,它拥有644的权限,如果user2想修改user1用户目录下的file1文件,应该怎样修改权限? • 如果umask设置为022,缺省的创建的文件的权限是什么?