您好,欢迎访问三七文档
2020/1/23河南机电高专计科系4.3文件的权限文件的属主与属组每个文件或目录都有它的所有者,即属主。文件同时属于某个特定的组,该组称为文件的属组ls–l显示文件的所属主和组修改文件所属主和组的命令1.chown[选项][所有者][:[组]]文件列表chownzhangsan:lisif1修改文件f1属主和属组chown:zhangsanf1只修改文件f1的属组2.chgrp[选项][组]文件列表修改文件的属组chgrpzhangsanf1只修改文件的属组2020/1/23河南机电高专计科系4.3文件的权限文件的访问权限Linux系统中的每个文件和目录都有访问许可权限,这是加在文件上的一个数据结构访问权限规定三种不同类型的用户:文件属主(owner):文件的所有者,称为属主。同组用户(group):文件属组的同组用户可以访问系统的其他用户(others)访问权限规定三种访问文件或目录的方式:读(r):允许读取文件内容或者列目录写(w):允许修改文件内容或者创建、删除文件可执行或查找(x):允许执行文件或者允许使用cd命令进入目录。2020/1/23河南机电高专计科系2020/1/23河南机电高专计科系权限范围的表示法如下:u:User,即文件或目录的拥有者。g:Group,即文件或目录的所属群组。o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。a:All,即全部的用户,包含拥有者,所属群组以及其他用户。除了可以用字母来表示文件或目录的权限外,还可用数字代号来表示,他们之间的关系如下:r:读取权限,数字代号为“4”。w:写入权限,数字代号为“2”。x:执行或切换权限,数字代号为“1”。-:不具任何权限,数字代号为“0”。2020/1/23河南机电高专计科系查看文件的权限属性权限项读写执行读写执行读写执行字符表示(r)(w)(x)(r)(w)(x)(r)(w)(x)数字表示421421421权限分配文件所有者文件所属组用户其他用户文件权限(-rw-r--r--)#ls-linstall.log-rw-r--r--1rootroot26195Dec1710:42install.log权限表示2020/1/23河南机电高专计科系使用chmod命令更改文件属性chmod命令用于更改文件对于某类用户的操作权限chmod[ugoa...][[+-=][rwx]FILE...设置权限的对象,可以是用户、组、其他人或所有人属性操作符+增加权限-减少权限=设置权限为权限内容,可以是读、写、执行权限的组合被设置属性的文件或目录2020/1/23河南机电高专计科系2、chmod命令格式:chmod[选项]文件和目录功能:改变或设置文件或目录的存取权限例如:将文件file1的权限改为所有用户都可以执行[root@localhost/root]#chmoda+xfile1将文件file1的权限重新设置为文件主可以读和执行,组用户可以执行,其他用户无权访问[root@localhost/root]#chmodu=r,ug=xfile12020/1/23河南机电高专计科系字母形式修改文件权限设置实例使用chmod命令设置文件权限查看文件权限$ls-lafile-rw-rw-r--1st01class10Apr316:52afile增加文件属主st01的执行权限(x)$chmodu+xafile去除文件属组class1的写权限(w)$chmodg-wafile设置其他用户的文件权限为可执行$chmodo=xafile2020/1/23河南机电高专计科系数字形式修改权限数字形式即由三位八进制数字组成,其命令格式为:chmod八进制模式文件名chmod641f1等价于chmodu+wr,g+r,o+xf12020/1/23河南机电高专计科系文件的默认权限umask[root@localhosttest]#umask0022[root@localhosttest]#umask-Su=rwx,g=rx,o=rxumask指定目前用户在新建文件和目录时候的权限默认值默认情况下用户创建文件则没有可执行的权限也即是666-rw-rw-rw默认情况下用户创建目录权限是777-rwx-rwx-rwx目录的权限x是指该用户能够进入到目录umask的分数实际上是”该默认值需要减掉的权限”因此创建文件时默认权限-rw-r--r--创建目录时默认权限drwxr-xr-xumask值可以修改umask0442020/1/23河南机电高专计科系文件的特殊权限SUID、SGID和Sticky的表示suid/sgid程序程序的t属性目录的s属性目录的T属性2020/1/23河南机电高专计科系文件特殊权限SUID/SGID/StickyBit在Linux中,文件的权限除了r、w、x这3个权限之外,还有s、t这2个权限。(whichpasswd查找命令的完整文件名)[root@localhosttest]#ls-ld/tmp/;ls-l/usr/bin/passwddrwxrwxrwt18rootroot409604-2308:35/tmp/-rwsr-xr-x1rootroot229602006-07-17/usr/bin/passwd2020/1/23河南机电高专计科系2010-02-071-13SUID=SetUIDSUID权限的含义:是为了让一般用户在执行某些程序的时候,在程序的运行期间,暂时获得该程序拥有者的权限。2020/1/23河南机电高专计科系2010-02-071-14分析student要更改自己的密码:#passwd分析:student在执行passwd修改自己的密码时,其修改的密码,最终是需要保存到/etc/shadow这个文件中,而这个文件的权限是-r--------,它的拥有者是root。在这个权限中,也只有root可以“强制”存储,其他用户连看都不行。可偏偏student去执行passwd(/usr/bin/passwd),却可以更新自己的密码。这就是说,student这个普通用户的身份可以去访问/etc/shadow这个密码文件,这怎么可能?明明/etc/shadow没有student可访问的权限。2020/1/23河南机电高专计科系2010-02-071-15分析这就是因为有s权限的存在。当s权限在拥有者的权限位上时,即如-r-s--x--x这样时,称为SUID。SUID即SetUID,UID指的是拥有者的的ID,而这个程序(/usr/bin/passwd)的拥有者(root)。SUID仅对“二进制文件”有效。对批处理文件,即Shell脚本无效。对目录也是无效的。2020/1/23河南机电高专计科系2010-02-071-16跟踪SUID的执行关于SUID执行的条件:SetUID的权限设置值,仅对二进制文件有效。进程操作者,必须拥有该二进制文件的可执行权限(x)。当进程操作者执行具有SUID的二进制文件时,在该二进制文件所触发的进程中(即在执行期间),该进程的有效用户(effectiveuser)为该二进制文件的拥有者。2020/1/23河南机电高专计科系2010-02-071-17跟踪SUID的执行如此说来,SUID/SGID的权限比较“可怕”。该如何查询整个系统的SUID/SGID的文件呢?使用find命令即可:#find/-perm+60000表示至少为无的权限6代表拥有者和所属用户组的s权限位+代表查拥有者or所属用户组的s权限位2020/1/23河南机电高专计科系2010-02-071-18SGID=SetGID进一步而言,如果s权限在用户组的权限位上时,即如-r-x--s--x这样时,称为SetGID,简称SGID。SGID可以用在两个方面:文件:如果SGID设置在二进制文件上,则不论用户是谁,在执行该程序的时候,它的有效用户组(effectivegroup)将会变成该程序的用户组所有者(groupid)(真正的组,原来的组)目录,如果SGID是设置在A目录上,则在A目录内所建立的文件或目录的用户组,将会是此A目录的用户组一般来说,SGID多用在特定的多人团队的项目开发上,在系统中用得较少2020/1/23河南机电高专计科系2010-02-071-19StickyBitStickyBit(SBit)当前只针对目录有效,对文件没有效果。其对目录的作用是:在具有SBit的目录下,用户若在该目录下具有w及x权限,则当用户在该目录下建立文件或目录时,只有文件拥有者与root才有权力删除。换句话讲:当student用户属于A目录的group成员或属于other,且拥有w权限时,可以对该目录内任何人建立的目录或文件进行“删除/重命名/移动”等操作。不过,如果将A目录加上了StickyBit权限,则student用户只能针对自己建立的文件或目录进行“删除/重命名/移动”等操作2020/1/23河南机电高专计科系2010-02-071-20示例/tmp目录本身的权限就是“drwxrwxrwt”,在这样的权限下,任何人都可以在/tmp内新增或修改文件,但仅有该文件或目录的建立者与root能够删除自己的目录或文件可以这样做个简单测试:以root登录系统,并且进入/tmp中touchtest,并且更改test权限成为777以一般用户登录,并进入tmp尝试删除test文件2020/1/23河南机电高专计科系2010-02-071-21SUID/SGID/SBIT权限设置如何设置文件或目录使其具有SUID/SGID/SBIT权限呢?使用数字模式的权限更改方式:在“3个数字”之前,再加上一个数字4为SUID2为SGID1为StickyBit2020/1/23河南机电高专计科系2010-02-071-22示例假设要将一个文件的权限设置为“rwsr-xr-x”,由于s在用户权限中,所以是SUID因此,在755之前,还要加上4,即:#chmod4755test此外,还有大S、大T如果文件以前有x的权限则加上suid后执行位变为s如果文件以前没有x的权限则加上suid后执行位变为S必须知道:SUID不能用在目录上SBIT不能用在文件上2020/1/23河南机电高专计科系2010-02-071-23示例cd/tmptouchtestchmod4755test;ls-ltestchmod6755test;ls-ltestchmod1755test;ls-ltestChmod2666test;ls-ltestChmod3666test;ls-ltest2020/1/23河南机电高专计科系4.4文件的链接硬链接不带选项,ln命令创建硬链接。在另外的目录或本目录中增加目标文件的一个目录项,一个文件就登记在多个目录中硬链接的格式:ln目标文件名链接名可以把硬链接当成源文件的副本,它显示跟源文件一样的大小但事实上却不占任何空间。df–h文件或者目录查看一个文件或者目录的大小1、不允许给目录创建硬链接;2、只有在同一文件系统中的文件之间才能创建链接。2020/1/23河南机电高专计科系4.4文件的链接硬链接不带选项,ln命令创建硬链接。在另外的目录或本目录中增加目标文件的一个目录项,一个文件就登记在多个目录中软链接(符号链接)用“ln-s”命令建立符号链接时,最好源文件用绝对路径名,这样可以在任何工作目录下进行符号链接。类似于Windows系统中的快捷方式。
本文标题:LINUX文件权限
链接地址:https://www.777doc.com/doc-3265198 .html