文件权限详解

一、文件类型 

 ll指令查看文件详细信息中,第一列就是文件类型

 常见的文件类型有:

1、  -  :普通文件 (文本、源代码、图片、视频、可执行)

2、 d :目录文件

3、b :块设备

4、c :字符设备

5、l:链接文件

6、p:管道文件

7、s:socket文件

二、文件的权限

文件权限分为:读(r),写(w),执行(x)

对于文件而言,用户也分为三类:拥有者(user),所属组(group),其他(other)

这里三三为一组,顺序为:user、group、other

为  '-' 则代表没有对应权限,例如 test.txt 的user没有执行权限,other没有写和执行权限。

三、改变文件权限 

1、普通文件的权限 

1、用  chmod u+r 文件名 给 文件拥有者加读权限

类似操作:chmod u+rw 文件名  chmod  g+rx 文件名  chmod o+xw 文件名

               拥有者加读写权限     所属组加写执行权限    其他加写执行权限

任意组合即可实现权限的增加和移除。

文件权限详解_第1张图片

 2、因为权限只有      和   没有  两个状态,所以可以用1和0标识

因为有三种权限所以三种用户的权限可以用三个八进制表示

777(111111111)  代表  rwxrwxrwx          664(110110100)  代表   rw-rw-r--

所以可以     chmod  777 文件名  添加所有权限给全部人

文件权限详解_第2张图片

只有文件的拥有者和root可以改变文件的权限! 

2、目录文件的权限 

 对于一个目录而言

r权限代表可否查看目录内文件的信息

w权限代表可否增加和删除文件

x权限代表可否进入目录

没有读权限代表无法看目录内文件的信息! 

 没有写权限代表不能在目录中增加和删除文件 

 没有执行权限代表无法进入目录

 四、umask权限掩码

权限掩码可以用来设置文件的初始权限。

使用方法:umask 0xxx    xxx代表三个八进制数字,含义与上面一样

出现在掩码中的权限不会出现在文件的初始权限中

最终权限 = 起始权限 & (~umask)  ==> ~umask的意思是对umask按位取反

普通文件的起始权限是666; 目录是777;

 起始权限:把umask设为0即可看到

文件权限详解_第3张图片

把umask设为0002,所有创建的文件other就没有写权限了 

文件权限详解_第4张图片

五、粘滞位 

在同一台云服务器中,我们无法进入其他用户的目录(root除外),那我们想和别人一起维护一个文件时应该怎么办呢?

在/目录下就存在了tmp目录,文件写在里面,帮助我们不同的用户一起维护同一个文件。

因为tmp目录权限是777,所以我们写在里面的文件是可以被其他无关用户删掉的!!

为了解决这个问题,就引入了粘滞位,把目录的最后一位变成 t ,这样除了拥有者和root之外的其他人就无法删除文件了。

文件权限详解_第5张图片

tmp目录最后一位为t,就是粘滞位,让除了文件拥有者、目录拥有者和root之外的其他人就无法删除文件。

我们也可以用chmod 为想要的目录加粘滞位

文件权限详解_第6张图片 感谢大家观看!

你可能感兴趣的:(服务器,linux,运维)