Linux系统下文件权限问题解析

我们都知道,在linux下一切都是文件,目录也是文件,本文主要讨论常规文件与目录文件的权限问题。

使用ll(即ls -l)我们可以查看当前文件夹下的文件的及其相关属性。

ls

我们会发现每个文件都会有三种权限rwx,且为其拥有者、所属用户组成员、其他用户分别进行了不同的设置。

在每行最前面一位,在这里我们会发现是符号d-,这代表的是文件类型,-代表着常规文件,d代表目录文件,当然还会有一些其他的特殊文件类型,可以查看书《鸟哥的linux私房菜第四版》163页。

文件所有者与所有群

Linux/Unix 是多用户多任务操作系统,所有的文件皆有其拥有者(Owner)。利用chown命令 可以将文件的拥有者加以改变。一般来说,这个命令只能由系统管理者(root)使用,一般用户没有权限来改变别人的文件的拥有者,也没有权限可以将自己的文件的拥有者改设为别人。只有系统管理者(root)才有这样的权限。

chgrp命令与chown一样,但是chmod不需要系统管理员权限,普通用户就可以使用。

常规文件的rwx权限

  • r(read): 用户可以读取此文件的内容,比如读取文本文件的文字内容等;
  • w(write): 用户可以编辑、新增或是修改该文件的内容(但不含删除该文件);
  • x(execute): 用户具有执行该文件的权限;

常规文件的基本权限r权限,如果你想要修改一个文件或者执行一个文件,除了wx权限,你还需要拥有该文件的r权限。

目录文件的rwx权限

  • r(read): 用户具有读取目录结构列表的权限;
  • w(write): 用户具有改动目录结构列表的权限,比如
    • 建立新的文件与目录;
    • 删除已经存在的文件与目录(不论该文件的权限是什么);
    • 将已存在的文件或目录进行更名;
    • 移动该目录内的文件、目录位置
  • x(execute): 用户具有进入该目录,并将该目录作为工作目录(其实就是能对该目录下的文件或者在该目录下执行命令)的权限;

目录文件的基本权限x权限,因为只有具备了它,你才能执行一切与该目录下有关的命令操作。(其实如果只有r权限的话,也是可以执行ls操作获得文件列表的,只是系统还是会提示权限不够,如下)

dir

文件的隐藏属性

除了上述的三个常用的权限属性外,文件还会有一些隐藏属性,可以使用lsattr查看,使用chattr进行设置。

比如说,使用lsattr查看当前文件夹下文件的隐藏属性

lsattr

我们会发现隐藏属性里只开启了一个e属性,这个属性是ext3与ext4文件系统自带的属性。

具体还有哪些隐藏属性,这两个命令更详细操作方式,可以查看《鸟哥的linux私房菜第四版》197页,此处只进行简单的讲解。

## 文件的特殊权限 有时我们会发现有些文件的权限并不是rwx,而是rwsrwt等,这里的s与t都是特殊权限。

参考资料

  • [1] 鸟哥的linux私房菜(第四版)
  • [2] http://blog.51cto.com/1024079574/1746139
  • [3] https://blog.csdn.net/wh8_2011/article/details/69815660

Linux系统下文件权限问题解析
http://line.com/2018/12/16/2018-12-16-linux-file-permission/
作者
Line
发布于
2018年12月16日
许可协议