Linux文件权限学习总结
用户lqs的家目录里有一个目录000,其中有一个文件a.txt.家目录lqs已经设置了权限705,目录000权限设定为703,其中的a.txt文件权限设定为700.如图所示,其它用户normal成功地删除了文件a.txt,尽管文件的权限只是700!这是文件的删除等操作是由上层目录的权限决定的,而文件的上层目录000的权限为703,它赋予了其它用户在其中添加、删除文件的权限.
因此我们得出结论,能否对目录中的文件本身进行移动、删除、重命名等操作,取决于其上层目录的权限.这里的文件,不但指普通文件,还包括目录文件,即目录的子目录. 对文件内容的操作,一般是指修改文件内容.对文件内容进行操作,其目录要有x权限,然后文件要有w权限.如下图所示: 对目录里的子目录的操作,与目录里文件的操作原理一致,但相应权限与前面讲到的目录操作的权限一致.这里不再一一列举.记住,要多用用chmod命令,这些东西你自然会知道. 七、特殊权限 linux里有一些特殊权限,比如s,它们需要4位十进制数字来表示.这里不谈,有兴趣可以自行了解一下. 附录: 一、权限字符表示是如何变成数字表示的? 使用ls –l命令显示文件属性的长格式时,第一个字段就是用来表示文件的种类和权限的,该字段最常见的值为-rwxr-xr-x.一共有10个字符,第一位表示文件类型,后面九位表示文件权限,这9位字符可分成3组,分别表示文件属主的权限,属主同组用户的权限,和其它用户的权限. rwxr-xr-x表示文件属主具有读、写、执行的全部权限,属主同组用户具有可读权限,其它用户具有可读权限,用十进制数字表示,就是755. 那么,755是怎么来的? 要得出这个十进制数字,需要先把rwxr-xr-x转换成二进制.把它们用二进制数字表示的话,有某项权限即为1,没有为0,那么rwxr-xr-x的二进制表示为111 101 101. 再把111 101 101这三组二进制数字分别转换成十进制.转换算法还记得吗?从右到左,各位上的数字依次乘以2的n次方(n的取值从0开始).如下所示: 第一组:1x20 1x21 1x22 = 7 第二组:1x20 0x21 1x22 = 5 第三组:1x20 0x21 1x22 = 5 三组数字组合起来,即为755. 其实不用每次都把每一个字符转换成二进制,再转换成十进制,没这么麻烦.我们可以算出:可读权限用十进制数字表示为4,可写权限表示为2,可执行权限表示为1,没有权限表示为0,记住它们就不必每次全部转来转去了. 先来看可读权限r--,它的二进制表示为100,把它转换成十进制:0x20 0x21 1x22 = 4 再来看可写权限-w-,它的二进制表示为010,把它转换成十进制:0x20 1x21 0x22 = 2 看可执行权限--x,它的二进制表示为001,把它转换成十进制:1x20 0x21 0x22 = 1 二、各个权限具体的操作试验结果如下: 目录的可读权限:可列出目录里的文件,不可重命名、复制、移动、删除其中的文件,不可进入目录 目录的可写权限:不可列出目录里的文件,不可重命名、复制、移动、删除其中的文件,不可进入目录 目录的可执行权限:不可列出目录里的文件,不可重命名、移动、删除其中的文件,可复制其中的文件,可进入目录 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |