文章目录
1.普通文件权限
文件权限约束普通用户,对root用户不起作用
在Linux中的普通文件显示为:
其中红色表示为文件所属用户,黄色的表示文件所属组
第一个红色字符为标记文件属性,
以 - 开头的为普通文件,以 d 开头的为目录 ,以p开头的为管道文件等等。
基础权限:
- r 表示可读权限
- w表示可以写(修改)权限
- x表示可执行权限
- -表示没有对应权限
且按照 r w x 的形式排列
其中前黑色的三个字符为文件所属人所拥有的权限
绿色的三个字符表示文件所属组所拥有的权限
黄色的三个字符表示其他人所拥有的权限
所以上面表示为:
文件所属人拥有文件的阅读和修改的权限,没有可执行权限,文件所属组的人拥有文件的阅读和修改的权限,没有可执行权限,其他人只有文件的阅读权限
2.修改文件权限(chmod)
只有文件所属人才可以给文件修改权限
chmod u表示修改文件所属人的权限+ 表示增加权限 -表示删除权限
g表示修改文件所属组的权限
o表示修改其他人的权限
a表示修改所有人的权限
修改多人的权限之间用,隔开
3.权限的八进制表示
对于文件所属人,假设其权限为 r w -
将由对于权限记作1,没有对应权限记作0.
则文件所属人的权限表示为1 1 0,8进制表示为6
同理 r w - r w - r - -用二进制表示为
1 1 0 1 1 0 1 0 0 则用8进制表示为 6 6 4
我们在修改权限的时候还可以用八进制数字表示
4.目录的权限
进入目录需要 x 权限。
查看目录文件需要 r 权限。
在目录中创建文件需要 w 权限
查看目录文件和在目录中创建文件需要 x 权限做基础,如果没由目录的可执行权限,光有 r w 权限也不能正常运行
5.修改文件所属,文件所属组(chown,chgrp)
普通用户修改文件所属要通过sudo来提高权限,
root用户不需要
连续修改所属与所属组用:隔开(chown)
6.默认权限(umask)
1.
在创建文件夹或普通文件时,就有默认的权限
普通文件创建时权限位666
还影响普通文件权限为umask
这里只看002 第一位的0忽略
umask写成二进制位
000 000 010(在umask中出现的权限位都不会在新建文件中出现)
666写成二进制位:
110 110 110
000 000 010(umask)
后文件权限变为
110 110 100 为r w - r w - r - -(664)
当改变umask的值时会改变创建文件的默认权限
原因:
110 110 110(666)
000 000 110 (006)(umask)
110 110 000(660)创建文件时的默认权限
r w - r w - - - -(660)
运算为(666)&(~umask)
2.目录与普通文件相同,目录的权限从(777)开始
创建目录的默认为(777)&(~umask)
7.粘滞位(chmod +t)
(注意粘滞位是给目录加的一种保护)
当一个目录对所有人开放时,目录里面会有不同所属人的文件,如果不加粘滞位,不同所属人可以删除别人的文件。
这时加上粘滞位可以避免这种情况
注意:
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
1.root用户
2.目录所属人
3.文件所有者