Linux系统中的每个文件和目录都有访问许可权限,用以确定谁可以通过何种方式对文件和目录进行访问和操作。要想流畅的使用Linux系统,掌握文件权限管理必不可少。今天给大家介绍这方面的知识,希望能帮助大家更好的入门Linux。
![0fc04101b251a3297d1cbd102e02b551.gif](https://i-blog.csdnimg.cn/blog_migrate/4ed5b248265bdb9395452d05db1cc36a.gif)
查看文件或文件夹权限信息
随便进入一个目录,输入如下命令列出目录下文件的详细信息
ls -l
![f0f9354f19598e3fb0bd8cdbb763509b.png](https://i-blog.csdnimg.cn/blog_migrate/60c60b4d2798b77d82ce4289b3a05dbf.png)
可以看到每一行都是一个文件或文件夹的信息,一共包括七列:
第一列是文件的权限信息
第二列表示该文件夹连接的文件数
第三列表示文件所属用户
第四列表示文件所属用户组
第五列表示文件大小(字节)
第六列表示最后修改日期
第七列表示文件名
其中第一列的文件权限信息是非常重要的,它由十个字符组成:
第一个字符代表文件的类型,有三种,- 代表这是一个文件,d 代表这是一个文件夹,l 代表这是一个链接。
第 2-4 个字符代表文件所有者对该文件的权限,r 就是读,w 就是写,x 就是执行,例如 rw- 就代表文件所有者可以对该文件进行读取和写入。
第 5-7 个字符代表文件所属组对该文件的权限,含义是一样的,如 r-x 就代表该文件所属组内的所有用户对该文件有读取和执行的权限。
第 8-10 个字符代表是其他用户对该文件的权限,含义也是一样的,如 r-- 就代表非所有者,非用户组的用户只拥有对该文件的读取权限。
![f0f9354f19598e3fb0bd8cdbb763509b.png](https://i-blog.csdnimg.cn/blog_migrate/60c60b4d2798b77d82ce4289b3a05dbf.png)
![0fc04101b251a3297d1cbd102e02b551.gif](https://i-blog.csdnimg.cn/blog_migrate/4ed5b248265bdb9395452d05db1cc36a.gif)
![ebe1ad87fc580d9e956d255785619c95.gif](https://i-blog.csdnimg.cn/blog_migrate/ef8b2612e45007fbb16bfaa38e20ab4b.gif)
我们可以使用 chmod 命令来改变文件或目录的权限,有2种用法:
一种是数字权限命名,这种方法把 rwx 对应一个二进制数字,如 101 就代表拥有读取和执行的权限,而转为十进制的话,r 就代表 4,w 就代表 2,x 就代表 1,然后三个数字加起来就和二进制数字对应起来了。如 7=4+2+1,这就对应着 rwx;5=4+1,这就对应着 r-x。所以,相应地 777 就代表了 rwxrwxrwx,即所有者、所属用户组、其他用户对该文件都拥有读取、写入、执行的权限,这是相当危险的!例如我要为一个 species.txt 赋予 777 权限,就写成:
chmod 777 species.txt
结果如下图
现在我们想把权限改为和原来一样的,通过之前截图可以知道权限为 -rw-rw-r-- 对应数字权限是664,因此可以使用如下命令来恢复
chmod 664 species.txt
![a96ee3b2bcaa74cb8ea586da3e970b20.png](https://i-blog.csdnimg.cn/blog_migrate/6e67dacbf498b57ae9d4238efb817464.png)
另一种方法使用代号来赋予权限,代号有 u、g、o、a 四种,分别代表所有者权限,用户组权限,其他用户权限和所有用户权限,这些代号后面通过 + 和 - 符号来控制权限的添加和移除,运算符号后面跟上权限类型就好,例如给所有者移除 w 权限,也就是写入权限,使用如下命令:
chmod u-w species.txt
结果如下所示,可以看到文件所有者的w权限已经被移除
如果想让文件所有者恢复w权限,则可以使用如下命令:
chmod u+w species.txt
结果如下图,可以看到文件所有者的w权限已经恢复了
![6b0896fb8807d5877b56c40494ec30d4.png](https://i-blog.csdnimg.cn/blog_migrate/c1e015fa00a5716fffb71fd414bf0e68.png)
![4732717b9969303530d20ad86505c29e.gif](https://i-blog.csdnimg.cn/blog_migrate/405353aa899bbcda3b0b7357c9bcc7a2.gif)
总结
Linux下文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。另外,文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。
![293537ee3daa7aca533f5c8181c9137e.png](https://i-blog.csdnimg.cn/blog_migrate/ad18dc89a8e31ed0ef903fa34762d673.png)
![4f9c59545331d16c4114bbbbf8ed7d13.png](https://i-blog.csdnimg.cn/blog_migrate/89bd90413e7badb867039584d1b02f25.png)
![fa0a70ef953e21e34a7c6de14bf00b28.png](https://i-blog.csdnimg.cn/blog_migrate/a35bba7b4e9250f8e158126018dd89c7.jpeg)
![1d6a61dbaf99e548d9dae17cd25c1a07.png](https://i-blog.csdnimg.cn/blog_migrate/ac17316334b7208547c4c21370f8d720.png)
![c038023d303962dfdbb9c4f01066df28.gif](https://i-blog.csdnimg.cn/blog_migrate/1afc22f4d5ca44d97a1c4fc0366ffd26.gif)