赞
踩

本文是对Linux中文件和目录权限的总结。

要了解文件的事物属性,我们就要先简单的认识下图中各部分的含义。

在windows中文件已后缀区分文件类型,但在Linux文件类型与后缀无关(系统层面)
文件类型:
d:目录
-:普通文件

其中d目录的文件类型是d,test.c文件的类型是-
l:软链接(类似于windows的快捷方式)

b:快设备文件(列如硬盘,光驱等)
p:管道文件
c:字符设备文件(列如屏幕等串口设备)

s:套接口文件
基本权限:

对于上图test.c文件而言,拥有者liyun拥有读写权限,不具有执行权限;所属组liyun拥有读写权限,不具有执行权限;other具有读权限,不具有写,执行权限。


只有文件的所有者和root用户才能修改文件的权限


chmod命令权限值的格式
用户表示符+ / - =权限字符
u:拥有者
g:所属组
o:other
a:所有用户
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予代号所表示的权限
三位八进制数字表示
依据下图:
如将test.c文件other的权限改为r–,其它权限不变。可以执行chmod 664 test.c(第一个6表示拥有者的权限,第二个6表示所属组的权限,第三个4表示other的权限)
普通用户不能更改文件的拥有者,我们需要使用root来更改文件的拥有者 或 sudo 执行chown。但sudo指令有需要执行该命令的用户在信任列表中。

所以这里我们以root身份来传递。

chown也可以同时修改文件的拥有者 与 所属组

与chown指令一样,我们以root身份来执行。

在介绍umask指令前,我们是否对于目录和文件的起始权限感到疑惑,为什么文件的起始权限为664,目录的权限为775,这就与掩码有关联。



没有r权限,不能查看文件内容

没有w权限,不能往文件中写入内容

没有x权限,则文件不能被执行,执行结果取决于文件内容




根据我们对目录权限的理解,不难发现只要用户具有目录的w权限,用户就可以删除该目录下的文件,而不论用户是否具有这个文件的w权限。那么如果我们多个用户在一个共享目录下工作,如果别人删除了我创建的文件,那怎么办?这就有了粘滞位的概念。
当一个目录被设置为"粘滞位"(chmod +t),则该目录下的文件只能有root删除,该目录的所有者删除,该文件的拥有者删除。


以上就是我对于Linux中文件和目录权限的总结。感谢支持!!!

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。