Loading

五、Linux系统权限

五、Linux系统权限

5.1 文件权限

Linux文件或目录的基础权限位是由9个字符来控制的,每三位字符为一组。

image-20221105193547790


在Linux系统中,文件和目录的权限是有一定区别的,下面先看一下普通文件对应的权限的相关知识。

  • r:表示具有读取、浏览文件内容(即读取文件实体block)的权限。

  • w:表示具有新增、修改、删除文件内容的权限。

  • x:表示具有执行文件的权限。

有w无r,无法编辑文件,但能强行覆盖内容到文件中,可以使用echo等命令进行重定向或追加内容到文件。


如果要删除、移动、创建某个文件,是受父目录(上一级目录)的权限控制的(因为文件名没有存放在Inode里,而是在上级目录的block里存放着的,若修改上级目录的block(删除文件本体),当然会受到上级目录的Inode的权限控制),与文件本身的权限无关,因此,文件本身的可写w权限,与文件是否能被删除和改名无关。


对于可执行x,需要注意以下3点:

  • 首先文件的本身要能够执行(文件为命令或脚本)。
  • 如果是普通用户,同时还需要具备可读r的权限才能执行文件。
  • 而root用户只要有可执行x的权限就能执行文件。

5.2 目录权限

r:表示具有浏览目录下面文件及子目录名的权限。

例如,可执行ls dir命令查看目录下的内容。但是如果没有可执行x权限的配合,则不能切换到指定目录里,即无法执行cd dir命令,而且在执行ls命令查看列表时,虽然可以看到所有的文件名,但是会提示无权访问目录下的文件。执行ls-l命令查看列表目录下的文件属性时,所有文件对应的属性都会带有问号,也会提示无权访问目录下的文件,但是依然可以看到所有的文件名。


w:表示具有增加、删除或修改目录内文件的权限。

如果没有可执行x权限的配合,即使有w权限,也无法删除、写入或创建文件。


x:表示具有进入目录的权限。

例如,可以执行cd dir命令切换到目录下,但是如果没有r的话,无法列表目录下的文件及子目录。


posted @ 2023-07-17 21:17  YinJayChen  阅读(23)  评论(0编辑  收藏  举报