1、4.3 文件的权限文件的属主与属组每个文件或目录都有它的所有者,即属主。文件同时属于某个特定的组,该组称为文件的属组ls l 显示文件的所属主和组显示文件的所属主和组修改文件所属主和组的命令修改文件所属主和组的命令1.chown 选项选项 所有者所有者:组组 文件列表文件列表chown zhangsan:lisi f1 修改文件修改文件f1属主和属组属主和属组chown :zhangsan f1 只修改文件只修改文件f1的属组的属组2.chgrp 选项选项 组组 文件列表文件列表 修改文件的属组修改文件的属组chgrp zhangsan f1只修改文件的属组只修改文件的属组?2020/7/6河
2、南机电高专计科系4.3 文件的权限?文件的访问权限文件的访问权限?LinuxLinux系统中的每个文件和目录都有访问许可权限,这是加在文系统中的每个文件和目录都有访问许可权限,这是加在文件上的一个数据结构件上的一个数据结构?访问权限规定三种不同类型的用户:访问权限规定三种不同类型的用户:文件属主(文件属主(ownerowner):文件的所有者,称为属主。):文件的所有者,称为属主。同组用户(同组用户(groupgroup):文件属组的同组用户):文件属组的同组用户可以访问系统的其他用户(可以访问系统的其他用户(others)?访问权限规定三种访问文件或目录的方式:访问权限规定三种访问文件或目录
3、的方式:?读(读(r r):允许读取文件内容或者列目录):允许读取文件内容或者列目录?写(写(w w):允许修改文件内容或者创建、删除文件):允许修改文件内容或者创建、删除文件?可执行或查找(可执行或查找(x x):允许执行文件或者允许使用):允许执行文件或者允许使用cdcd命令进命令进入目录。入目录。2020/7/6河南机电高专计科系2020/7/6河南机电高专计科系?权限范围的表示法如下:权限范围的表示法如下:u:User,即文件或目录的拥有者。,即文件或目录的拥有者。g:Group,即文件或目录的所属群组。,即文件或目录的所属群组。o:Other,除了文件或目录拥有者或所属群组之外,其,
4、除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。他用户皆属于这个范围。a:All,即全部的用户,包含拥有者,所属群组以及其他,即全部的用户,包含拥有者,所属群组以及其他用户。用户。除了可以用除了可以用字母字母来表示文件或目录的权限外,还可用来表示文件或目录的权限外,还可用数数字字代号来表示,他们之间的关系如下:代号来表示,他们之间的关系如下:r:读取权限,数字代号为:读取权限,数字代号为“4”。w:写入权限,数字代号为:写入权限,数字代号为“2”。x:执行或切换权限,数字代号为:执行或切换权限,数字代号为“1”。-:不具任何权限,数字代号为:不具任何权限,数字代号为“0”。2020
5、/7/6河南机电高专计科系查看文件的权限属性#ls-l install.log-rw-r-r-1 root root 26195 Dec 17 10:42 install.log权限表示文件权限(-rw-r-r-)权限项字符表示读(r)写执行读写执行读(r)写执行(w)(x)(r)(w)(x)(w)(x)数字表示权限分配42142142其他用户1文件所有者文件所属组用户2020/7/6河南机电高专计科系使用chmod命令更改文件属性?chmod命令用于更改文件对于某类用户的操作权限chmod ugoa.+-=rwx FILE.属性操作符+增加权限-减少权限=设置权限为被设置属性的文件或目录权限
6、内容,可以是读、写、执行权限的组合设置权限的对象,可以是用户、组、其他人或所有人2020/7/6河南机电高专计科系?2、chmod 命令格式:chmod 选项 文件和目录功能:改变或设置文件或目录的存取权限例如:将文件file1的权限改为所有用户都可以执行rootlocalhost/root#chmod a+x file1将文件file1 的权限重新设置为文件主可以读和执行,组用户可以执行,其他用户无权访问rootlocalhost/root#chmod u=r,ug=x file12020/7/6河南机电高专计科系字母形式修改文件权限设置实例?使用使用chmod命令设置文件权限命令设置文件权
7、限?查看文件权限查看文件权限$ls-l afile-rw-rw-r-1 st01 class1 0 Apr 3 16:52 afile增加文件属主增加文件属主st01的执行权限(的执行权限(x)$chmod u+x afile?去除文件属组去除文件属组class1的写权限(的写权限(w)$chmod g-w afile?设置其他用户的文件权限为可执行设置其他用户的文件权限为可执行$chmod o=x afile?2020/7/6河南机电高专计科系?数字形式修改权限数字形式即由三位八进制数字组成,其命令格式为:?chmod 八进制模式八进制模式 文件名文件名chmod 641 f1 等价于等价于
8、 chmod u+wr,g+r,o+x f1?2020/7/6河南机电高专计科系文件的默认权限 umaskrootlocalhost test#umask 0022rootlocalhost test#umask-Su=rwx,g=rx,o=rxumask指定目前用户在新建文件和目录时候的权限默认值默认情况下用户创建文件则没有可执行的权限 也即是666-rw-rw-rw 默认情况下用户创建目录权限是777-rwx-rwx-rwx 目录的权限x是指该用户能够进入到目录umask的分数实际上是”该默认值需要减掉的权限”因此创建文件时默认权限-rw-r-r-创建目录时默认权限drwxr-xr-xum
9、ask值可以修改 umask 0442020/7/6河南机电高专计科系文件的特殊权限?SUID、SGID和Sticky的表示suid/sgid程序程序程序的程序的t属性属性目录的目录的s属性属性目录的目录的T属性属性2020/7/6河南机电高专计科系文件特殊权限SUID/SGID/Sticky Bit在 Linux 中,文件的权限除了 r、w、x 这 3 个权限之外,还有 s、t 这 2 个权限。(which passwd 查找命令的完整文件名)rootlocalhost test#ls-ld/tmp/;ls-l/usr/bin/passwddrwxrwxrwt 18 root root 40
10、96 04-23 08:35/tmp/-rwsr-xr-x 1 root root 22960 2019-07-17/usr/bin/passwd2020/7/6河南机电高专计科系SUID=Set UID?SUID 权限的含义:是为了让一般用户在执行某些程序的时候,在程序的运行期间,暂时获得该程序拥有者的权限。2020/7/62019-02-07河南机电高专计科系1-13分析?student 要更改自己的密码:#passwd分析:?student 在执行 passwd 修改自己的密码时,其修改的密码,最终是需要保存到/etc/shadow 这个文件中,而这个文件的权限是-r-,它的拥有者是 r
11、oot。在这个权限中,也只有 root 可以“强制”存储,其他用户连看都不行。?可偏偏 student 去执行 passwd(/usr/bin/passwd),却可以更新自己的密码。?这就是说,student 这个普通用户的身份可以去访问/etc/shadow 这个密码文件,这怎么可能?明明2020/7/6/etc/shadow 没有河南机电高专计科系2019-02-071-14student 可访问的权限。分析?这就是因为有 s 权限的存在。当 s 权限在 拥有者 的 权限位上时,即如-r-s-x-x 这样时,称为 SUID。SUID 即 Set UID,UID 指的是拥有者的的 ID,而这
12、个程序(/usr/bin/passwd)的拥有者(root)。SUID 仅对“二进制文件”有效。对批处理文件,即Shell 脚本无效。对目录也是无效的。河南机电高专计科系?2020/7/62019-02-071-15跟踪 SUID 的执行?关于 SUID 执行的条件:?Set UID 的权限设置值,仅对二进制文件有效。进程操作者,必须拥有该二进制文件的可执行权限(x)。当进程操作者执行具有 SUID 的二进制文件时,在该二进制文件所触发的进程中(即在执行期间),该进程的有效用户(effective user)为该二进制文件的拥有者。2020/7/62019-02-07河南机电高专计科系1-16
13、跟踪 SUID 的执行?如此说来,SUID/SGID 的权限比较“可怕”。该如何查询整个系统的 SUID/SGID 的文件呢?使用 find 命令即可:#find/-perm+6000?0 表示至少为无的权限6 代表 拥有者 和 所属用户组 的 s 权限位+代表查 拥有者 or 所属用户组 的 s 权限位2020/7/62019-02-07河南机电高专计科系1-17SGID=Set GID?进一步而言,如果 s 权限在用户组的权限位上时,即如-r-x-s-x 这样时,称为 Set GID,简称 SGID。SGID 可以用在两个方面:?文件:如果 SGID 设置在二进制文件上,则不论用户是谁,在
14、执行该程序的时候,它的有效用户组(effective group)将会变成该程序的用户组所有者(group id)(真正的组,原来的组)目录,如果 SGID 是设置在 A 目录上,则在 A 目录内所建立的文件或目录的用户组,将会是此A 目录的用户组一般来说,SGID 多用在特定的多人团队的项目开发上,在系统中用得较少2020/7/6河南机电高专计科系2019-02-071-18?Sticky Bit?Sticky Bit(SBit)当前只针对目录有效,对文件没有效果。其对目录的作用是:?在具有 SBit 的目录下,用户若在该目录下具有w 及 x 权限,则当用户在该目录下建立文件或目录时,只有文
15、件拥有者与 root 才有权力删除。?换句话讲:?当 student 用户属于 A 目录的 group 成员或属于 other,且拥有 w 权限时,可以对该目录内任何人建立的目录或文件进行“删除/重命名/移动”等操作。?不过,如果将 A 目录加上了 Sticky Bit 权限,则 student 用户只能针对自己建立的文件或目录进行“删除/重命名/移2020/7/6河南机电高专计科系2019-02-071-19动”等操作示例?/tmp 目录本身的权限就是“drwxrwxrwt”,在这样的权限下,任何人都可以在/tmp 内新增或修改文件,但仅有该文件或目录的建立者与 root 能够删除自己的目录
16、或文件可以这样做个简单测试:?以 root 登录系统,并且进入/tmp 中touch test,并且更改 test 权限成为 777以一般用户登录,并进入 tmp尝试删除 test 文件2020/7/62019-02-07河南机电高专计科系1-20SUID/SGID/SBIT 权限设置?如何设置文件或目录使其具有 SUID/SGID/SBIT 权限呢?使用数字模式的权限更改方式:?在“3个数字”之前,再加上一个数字4 为 SUID2 为 SGID1 为 Sticky Bit2020/7/62019-02-07河南机电高专计科系1-21示例?假设要将一个文件的权限设置为“rwsr-xr-x”,由
17、于s 在用户权限中,所以是 SUID因此,在755之前,还要加上 4,即:#chmod 4755 test此外,还有大 S、大 T 如果文件以前有x的权限则加上suid后执行位变为s如果文件以前没有x的权限则加上suid后执行位变为S必须知道:SUID 不能用在目录上SBIT 不能用在文件上河南机电高专计科系2020/7/62019-02-071-22示例?cd/tmptouch testchmod 4755 test;ls-l testchmod 6755 test;ls-l testchmod 1755 test;ls-l testChmod 2666 test;ls-l testChmo
18、d 3666 test;ls-l test2020/7/62019-02-07河南机电高专计科系1-234.4 文件的链接文件的链接?硬链接?不带选项,ln命令创建硬链接。在另外的目录或本目录中增加目标文件的一个目录项,一个文件就登记在多个目录中硬链接的格式:ln 目标文件名 链接名可以把硬链接当成源文件的副本,它显示跟源文件一样的大小但事实上却不占任何空间。1、不允许给目录创建硬链接;2、只有在同一文件系统中的文件之间才能创建链接。df h 文件或者目录 查看一个文件或者目录的大小2020/7/6河南机电高专计科系4.4 文件的链接文件的链接?硬链接?不带选项,ln命令创建硬链接。在另外的目录或本目录中增加目标文件的一个目录项,一个文件就登记在多个目录中?软链接(符号链接)?用“ln-s”命令建立符号链接时,最好源文件用绝对路径名,这样可以在任何工作目录下进行符号链接。类似于Windows系统中的快捷方式。2020/7/6河南机电高专计科系
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。