文件权限详解

文件权限详解

目录

一、文件类型

二、文件的权限

三、改变文件权限

1、普通文件的权限

2、目录文件的权限

四、umask权限掩码

五、粘滞位

一、文件类型

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 文件名

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

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

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

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

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

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

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

2、目录文件的权限

对于一个目录而言

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

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

x权限代表可否进入目录

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

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

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

四、umask权限掩码

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

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

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

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

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

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

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

五、粘滞位

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

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

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

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

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

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

感谢大家观看!

关键点

目录 一、文件类型 二、文件的权限 三、改变文件权限 1、普通文件的权限 2、目录文件的权限 四、umask权限掩码 五、粘滞位 一、文件类型 ll指

相关文章