
其中rw-r--r--.就是这个文件的权限了,而后边的root root代表文件的属主和数组。
我们先来看一下权限用什么代表:
所属:
rw-r--r--9个位,分为三段,每段三个位,依次为r,w,x权限,三段分别为属主,属组,其他人三种类别的权限。
属主具有读写权限,属组有读权限,其他人有读权限,如果显示为-,则代表该类人没有此权限。那么root用户对此文件有读和写的权限,但是没有执行权限,什么是执行权限呢,比如说我们的Windows中的exe文件,能双击执行的就为可执行的,那么linux中,x则代表可执行,一般为脚本文件,或者是二进制文件(比如说ls命令)。
root组的用户对这个文件有只读权限,也就是不能更改和执行了,。对于不是root用户,和不属于root组的用户,则也是只有只读权限。
那么如何才能有自己想有的权限呢,就要所属用户或者root用户来设置了。
权限设置有两种方法:
1.2.1模式法
对象+-=权限
对象:ugoa——a相当于ugo三种类别的人
权限:rwx
还可以复制其他文件的权限
1.2.2数字法
数字也可以代表权限,r使用4表示,w使用2表示,x使用1表示,1、2、4看着有规律啊,不错,的确rwx使用二进制表示的话,有权限使用1表示,没有使用0,那么如下图:
具体只要在相应位上有权限,则二进制为1,则三个位组合起来,再从二进制转化为十进制则数字可计算出来权限。
umask值用来消除创建文件时的相应位上的权限(从二进制方面理解);
新建文件: 666 - umask值就是新建文件的默认权限,因为新建文件默认没有执行权限的(没有1权限,所以只要有奇数权限则代表有执行权限),所以得到的权限必定是偶数,如果umask为奇数,则用666减去将得到奇数权限,如果所得结果某位存在奇数权限,则将其权限+1(因为从二进制方面理解,如果相应位没有权限,则多减了1,故要加上1来弥补这个权限);
新建目录: 777 - umask值就是新建目录的默认权限;
管理员的umask 是 022
普通用户的umask是 002
X的作用(x权限特殊形式)
针对目录增加x权限
对文件
1 无执行的文件,不会增加x权限
2 任意三种人有执行权限,也会增加x权限
目录
文件:
对目录的权限意义:
只有读:只能查看目录文件列表,不能访问文件,也不能cd目录(查看,删除)
只有执行:可以cd进去,不能ls,可以访问目录中的文件。执行是基础权限
写权取:配合x权限才生效
SUID权限代表不管是谁执行此程序,将继承此程序所有者的权限
比如修改密码命令passwd,因此每个用户都可以用此命令修改自己的密码,由于其继承的是属主root用户的权限。
创建一个文件,赋予s权限
SGID作用于目录或可执行程序,作用于目录代表在此目录创建的文件或目录,默认的属组继承此目录的属组
粘贴位权限,只能作用于目录上,只有自己才能删除自己创建的文件.使用t来表示,同样需要执行权限x,否则表现为T
有这样的需求,如果多人合作,希望整个团队的人都能更改这个目录的文件,但是这个目录的文件 不能被其他人删除,比如说系统的/tmp目录,这个目录每个用户都可以在里面创建文件,但是不能删除其他用户创建的文件,除了root
特殊权限:
SUID:4
SGID:2
Sticky:1
SUID只能作用于二进制可执行程序,不能作用于目录,因为其对应的是程序,程序需要能执行
为什么对于一个文件有读写执行权限,依然不能删除呢,因为删除文件要看其父目录是否有权限。删除的是目录项中的文件名(详细请看我的inode博客)
因为文件权限管理职能对三类人有效,在生产中远远不能满足要求,ACL则应运而生
举例:
答:linux中的rws中的s为特殊权限,赋值方式同样和普通的文件 *** 作是一样的,命令如下:chmod 1755 filename。
同样对,rwx、s/S,t/T进行一个解释:
1.r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。
2.w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
3.x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
4.s或S(SUID,Set UID):可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。请注意具备SUID权限的文件,黑客经常利用这种权限,以SUID配上root帐号拥有者,无声无息地在系统中开扇后门,供日后进出使用。
5.t或T(Sticky):/tmp和 /var/tmp目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)