Linux中的文件权限

214 阅读2分钟

“这是我参与2022首次更文挑战的第13天,活动详情查看:2022首次更文挑战

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。通常文件是谁创建的,那么所有者就是谁。

在终端输入ls -ahl查看文件的信息

drwxr-xr-x.  2 root root   22 Dec  4 01:51 demo
-rwxr--r--.  1 root root   57 Dec  3 22:41 hello.sh

下面具体介绍drwxr-xr-x.-rwxr--r--.代表的含义。

第一位是文件的类型

符号含义
-文件
d目录
l软链接
  1. 第2-4中的三个字母表示所有者的权限
  2. 第5-7中的三个字母表示所属组的权限
  3. 第8-10中的三个字母表示其他人的权限
  4. 最后的.点表示ACL权限位

关于字母表示的权限位含义如下

字母数字含义
r4可读
w2可写
x1可执行

那么明白的权限的含义之后,我们可以说demo这个目录,所有者是可读可写可执行,所有组可其他人是可读不可写但是可以执行。对应的数字表示755权限。

目录的最高权限是w可写权限。目录有可读r的权限,无法进入目录,但是可以读取目录里面的文件名,目录有可执行x的权限,可以进入目录,可以修改目录里面的文件内容,但是不能在目录里面增加删除文件。文件相当于目录里面的内容,所以目录要有w权限才可以增删重命名文件。

有时候权限不够,我们需要修改权限,可以使用chmod命令。

chmod g+x hello.sh

第一个字母g表示所有组,一共有三种,下面列表中展示的,+-表示增加或者减少的意思,x在前面已经提到了字母代表权限的含义,x表示执行,最后的是文件名称。

字母含义
u所属者
g所属组
o其他人

除了通过这种方式,还可以通过数字设置,前面已经提到了数字代表权限的含义,每个权限都有对应的数字表示,所以可以直接使用数字。

chmod 764 hello.sh

第一个数字表示所有者的权限,第二个数字表示所有组的权限,第三个数字表示其他人的权限。