⽂件的类型及权限
写在开始之前:⽂章所有内容均为⾃⼰理解,如有错误请告知!
⽂件的类型:
在linux中⼀切皆⽂件,任何的设备,⽬录,内存中的数据,执⾏的进程,都以⽂件的⽅式表现,
在linux中⽂件类型可以使⽤ls加l选项查看,每种⽂件类型使⽤⼀个字符表⽰,如下:
-:
普通⽂件
d:
⽬录⽂件
l:
软连接
c:
字符设备
b:
块设备
s:
套接字⽂件
p:
管道⽂件
在linux中⽂件的类型不需要依靠后缀确定,在linux中确定⽂件类型使⽤的是⽂件开头的魔数,bz等程序要求特定的后缀名称只是程序的需要,与操作系统⽆
关。
在linux中可以使⽤hexdump查看⽂件的魔术
如:hexdump-C-n10/bin/bash
#hexdump-C-n10/bin/bash
000000007f454c46|.ELF......|
linux中程序⽂件的魔术ELF
虽然linux不依靠⽂件后缀区分⽂件类型,但是不同的⽂件后缀可以使⽂件拥有不同的着⾊,该配置在/etc/DIR_COLORS中定义。
⽂件的权限:
⽂件的权限在进程进⾏⽂件操作时,对进程发起者⾝份进⾏权限审核。现实了系统资源隔离及对操作系统安全防护。
linux,⽂件的权限需要⽂件系统来⽀撑,也就是说⽂件的权限信息并⾮存储在数据块中,⽽是存放在了inode中,或者说不同的⽂件系统,其组织数据的格式并
不相同。
linux⽂件的权限可以分为两种,⼀种是⽂件的操作权限,⼀种是⽂件的所有者。⽂件的操作权限约束了除root外的所有⼈包括⽂件的所有者,⽂件的所有者同样
受⽂件的操作权限控制,但⽂件的所有者可以更改⽂件属性信息中的权限信息,也就是⽂件的操作权限。所有者⽆法更改⽂件的所有者,
⽂件的操作权限将发起者划分成为了三个部分,即⽂件的所有者,⽂件的所属组,其他⽤户。并分别赋予对应的权限。这是⽂件的基本权限,但是这种⽂件
属主属组的划分⽅法过于单⼀,所以acl作为⽂件访问者⾝份的扩展。
⽂件的所有者:
⽂件的所有者,就是⽂件的所有者。⼀般是⽂件的创建者,⽽⽂件的属组⼀般是⽂件创建者的主组。即passwd⽂件中对应的组id,但是以上判定并不绝对。⽂
件的所有者可以后期更改。但是只能使⽤root⾝份进⾏更改。普通⽤户即便是⽂件的所有者也⽆法更改⽂件的所有者为其他⽤户。⽂件的所有者也可后期进⾏更
改,root可以随意更改,即便所有者并不在所属组中。⽽所有者可以更改所属组为所有者所在的组的其中⼀个。
⽂件的操作权限:
⽂件的操作权限约束了,对⽂件发起访问的访问者所能具体执⾏操作,操作⾏为分为三种,即读·写·执⾏(read·write·execute)。在⽂件权限设定中通常是
权限相配合使⽤。即⽂件可以同时拥有三种权限的⼀种,或多种。
⽂件权限表⽰使⽤对应的字母,或⼋进制数。表⽰时将每类⽤户划分为⼀组,⼀组中包含rwx三种权限。每组使⽤3个对应权限的字母或⼀个⼋进制的数字
表⽰,每类发起者对应⼀组相应的权限。
或者说权限的表⽰法,采⽤的标志位表⽰法,⽂件权限⼀共针对三类,每类⽤户都有3种操作,所以表⽰⽂件的权限⼀共需要9位标识位。即---------,每
⼀位对应相应⽤户的具体操作权限。具有权限的位置使⽤对应功能的字母进⾏占位,⽆权限使⽤-占位。或者使⽤⼆进制数字进⾏占位,表⽰时每组转换为⼀位
⼋进制数。
drwxr-xr-x.2rootroot63⽉1822:58图⽚
创建⽂件的默认权限:
创建⽂件与创建⽬录时都会有默认的权限,决定这个权限的是umask值,其中umask值起到的作⽤是,⽂件的初始权限减去umask值对应的权限,得到的权
限便为⽂件或⽂件夹的最终权限。其中⽂件的初始权限为666,⽂件夹的初始权限为777.系统在⽤户登录时会根据id判断登录的⽤户具有的umask值得⼤⼩。该
段判断语句在/etc/bashrc⽂件中,bash加载时调⽤执⾏。
if[$UID-gt199]&&["`/usr/bin/id-gn`"="`/usr/bin/id-un`"];then
umask002
el
umask022
fi
umask:
设定umask值,umask决定了创建⽂件的默认权限的最终权限,umask值是以⼋进制数显⽰的⼆进制数,⼀共9位2进制数每⼀位表⽰
对应的⾝份及对应的权限。如果umask值被置位则表⽰创建的新⽂件不应该具有该权限。或⽂件的权限+umask=666,⽂件夹的权
限+umask=值的计算不是数值计算⽽是对应权限位的删除。然后以⼋进制数表⽰最终结果。
umask:查看umask值
umask:设定umask值
数值表⽰:umask777
即设置umask值为777或rwx,rwx,rwx。最终结果
⽂件:rw-,rw-,rw-,减去rwx,rwx,rwx,即---,---,---,或000;什么权限都没有
⽬录:rwx,rwx,rwx,减去rwx,rwx,rwx,即---,---,---,或000;同样什么权限也没有
模式表⽰:umasku=rwx,g=rwx,o=rwx
该表⽰法表⽰的最终能获取到的权限,如果转换为数值,则对位取反。
u=rwx表⽰所有者最终可以获取到rwx权限,g,o同样这时的umask值应该为000
-S:显⽰以模式法表⽰的umask
⼿动设置umask值,⽆法长期保持有效,即只在本次登录有效,如果需要长期有效。则在/etc/bashrc定义后重新进⾏定义。可以写⼊⽂
件~/。bashrc中,以命令的形式
⽂件的权限:
⽂件的权限分为:基本权限与特殊权限,基本权限是为了与特殊权限做区分。
我在⽋你⼀张图吧,反正之前已经⽋你3张了。
⽂件的操作发起者被分为三类。⽂件的所有者,⽂件的所属组。以及其他⽤户。每类⽤对应3种操作权限,即读写执⾏。
访问⽂件,进⾏权限匹配之前,⾸先进⾏⾝份匹配,⾝份匹配顺序为:⽂件的所有者,⽂件的所属组,其他⽤户(我为啥想起了临时⼯,
好吧他们也是背锅侠)⼀旦⾝法匹配,不再去匹配下⼀个⾝份,即权限⽆法叠加。如某⽤户既是⽂件的所有者,同时也在⽂件的所属组中,
⾝份匹配时⾸先进⾏⽂件的所有者匹配,匹配成功。不进⾏后续匹配,所以发起者访问的⽂件使⽤的⾝份是⽂件的所有者。所具有的⽂件权
限为所有者的权限。后续的⾝份不对权限产⽣影响。
对于root⽤户,对任何的⽂件都有rw权限。⽽且3种⾝份中只要有⼀种具有执⾏权限,即只要具有⼀个执⾏位,⽆论是谁的,root便具有
该⽂件的执⾏权限。
当⼀个⽂件为可执⾏的程序时⽤户对该⽂件发起访问。该可执⾏的⽂件会对发起者的⾝份进⾏审核。即单纯的验证发起者是否有权限执
⾏该程序。如果有权限执⾏该程序,那么该⽂件如果需要进⾏权限审核的操作,被审核的⾝份为该⽤户的权限,这⾥的⽤户权限包括⽤户的
权限以及该⽤户加⼊的全部组的权限。,其中程序的权限仅是⽤于验证⽤户权限,如果具有特殊权限位除外。
基本权限:
r:read读权限,即有此权限,⽤户可以读取⽂件的内容。
w:write写权限,即有此权限,⽤户可以将内容写⼊⽂件,包括⽂件的属性。
⼀般w的使⽤需要配合r。当⽆r权限是只是不能读取,但不意味着不能写⼊。可以使⽤>重定向进⾏写⼊。⽽且使⽤命令更改⽂件的属性同样需要⽂件的w权限,
⽐如touch更新时间。也就是说w权限不光决定着数据块的数据写⼊,同时也决定着inode表的属性写⼊。
x:execute执⾏权限,即有此权限,⽤户可以执⾏⽂件,可执⾏的⽂件⼀般是⼆进制程序,或者脚本⽂件。
⽂件夹的权限:
⽬录的权限对于root来说并没有影响,即便000,也就是说都没有执⾏权限。root⼀样可以进⼊⽬录,并查看,创建,删除⽂件
基本权限:
r:read⽂件夹的读权限。⽂件夹的内容包括两部分,⼀部分是⽂件夹⾃⾝的属性,⼀部分是⽂件夹中⽂件的名称与inode的映射关系。
⽂件夹的读权限决定能否读取⽂件夹的数据,也就是⽂件的名称与inode的映射关系
w:write⽂件夹的写权限。决定了能否删除⽂件夹中的内容,也就是更改⽂件夹⽂件的数据块,即映射关系。
x:execute⽂件夹的执⾏权限,决定了能否将⼯作⽬录更改为该⽂件夹。没有该权限位,意味着⽆法读写删除⽂件,即便没有读写权
限,也可以通过路径访问⽂件,但是需要具有被访问的⽂件的相关权限。
本文发布于:2023-03-07 16:10:19,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1678176620174642.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:更改文件类型.doc
本文 PDF 下载地址:更改文件类型.pdf
留言与评论(共有 0 条评论) |