Linux 文件权限

文件信息

我们使用 ls -l 列出文件,会携带下面这组信息。

-rw-r--r-- 1 root root 8445 Sep 8 07:33 file.txt
...

我们解读一下这些信息。

  • 第一个符号 - 表示的是一个文件,如果是 d 那么表示是一个目录,而 l 则是一个链接文件。
  • rw-r--r-- 这段表示的是文件的权限范围,以三个为一组 r可读w可写x可执行,第一组表示文件所属用户的权限,第二组表示文件所用户组的权限,第三组表示其他用户或用户组的权限。
  • 1 表示硬链接数目。
  • 往后的两个 root 就是分别代表了文件的所属用户,和用户组。
  • 8445 代表文件大小,单位是 byte
  • Sep 8 07:33 文件的修改时间。
  • 最后一个 file.txt 文件名称。

权限

root 用户可以跨越文件的权限,并且修改权限,常用的权限修改命令有 chomdchogrpchown

chomd

chomd 755 file // 得到的结果就是 rwxr-xr-x,每个数字代表一组 | 4读、2写、1执行,如果全部权限都赋予,合起来就是 7
chomd 333 file // -wx-wx-wx | 加深理解

chogrp

chogrp gname file // 修改文件的所属用户组

chown

chown uname file // 修改文件的所属用户

umask

我们 ls -l a,读取到的文件权限是 rw-r--r--。文件的权限值,不能高于 umask 命令的设置。

  • 如果 umask 000,不做任何限定,那么 touch file 出来的权限是 rw-rw-rw-
  • 如果 umask 777,做出最高限定,那么 touch file 出来的权限是 ---------
  • umask 默认的权限是 022,umask 命令不能规定 x 可执行权限。

软链接

链接是文件的一种的镜像,访问一个文件的指针指向了两一个文件。

ln -s a b

上面的命令,新创建了一个 b 的文件,并且链接到 a。它们之间的关系,修改 b 等于了 修改 a,修改 a 等于修改了 b。但是 b 文件依赖着 a,假如 a 文件不在了,b文件也就不能访问。

Linux 教程 Linux 用户 Linux 基础命令 Linux 文件权限 Linux 文件查找 Linux 文件归档 Linux vim Linux 管道和重定向 Linux 进程 Linux 运行状态 Linux 服务管理 Linux 定时任务 Linux 磁盘 Linux LVM Linux 网络配置 Linux 软件管理 Linux iptables Linux SSH Linux curl