❗️ 注意:离本文创建时间已经过去了
天,请注意时效性🖥 说明:本文是当初在学习 Linux 基础的时候写的一篇博客, 从旧的 WordPress 博客迁移而来
前言
经常使用命令行的同学会看到一些文件之前有这样一些字符 -rw-r--r--
共十位, 这代表了不同用户组对当前文件/文件夹操作权限. 如:
1
2
3
4
drwxr-xr-x 9 x staff 288 9 25 23:37 .
drwxr-xr-x 15 x staff 480 9 24 23:48 ..
drwxr-xr-x 16 x staff 512 9 26 08:18 .git
-rw-r--r--@ 1 x staff 68 9 13 00:34 README.md
下面从左往右依次解释.
位置及字符含义
- 第 1 位表示当前文件是文件夹还是文件 文件则为
-
, 文件夹则为d
, 软链接则为l
- 第 2 到第 4 位表示文件所属用户权限, 即文件创建者的权限
- 第 5 到第7 位表示文件所属用户组中用户的权限
- 第 8 到第 10 位表示除了当前用户组外, 其他用户的权限
- 第 2 ~ 4, 第 5 ~ 7, 第 8 ~ 10位中, 每 3 个表示一组权限信息:
- 第 1 位用 r 表示, 代表
read
, 即读
的权限, 十数字表示为 4, 二进制表示为 100, 没有该权限使用-
表示 - 第 2 位用 w 表示, 代表
write
, 即写
的权限, 十进制表示为 2, 二进制表示为 010, 没有该权限使用-
表示 - 第 3 位用 x 表示, 代表
execute
, 即执行
的权限, 十进制表示为 1, 二进制表示为 001, 没有该权限使用-
表示
- 第 1 位用 r 表示, 代表
- root 用户总是拥有所有的权限, 即 rwx, 十进制表示为 777(即每个位相加 4 + 2 + 1), 二进制表示为 111
示例
-r-xrwxr--
表示当前是文件, 当前文件所有者有读取和执行的权限, 但是不能修改; 文件所有者用户组的其他用户可以读取修改和执行, 其他用户可以阅读但是不能修改和执行
基本使用
chmod
修改文件 hello.js 为可读写可执行: chmod 777 hello.js
或者 chmod rwx hello.js
其他
以数字表示权限的(数字表示的权限不含有字母/字符表示权限的最高位 -
/d
/l
信息)还可以用四位数字表示, 即在权限前面添加一位IE, 如 0777, 其最高位的 0 表示 suid 和 guid 的概念:
- suid 表示执行相应脚本的用户(前提是有执行权限)具有文件所属用户的权限 7
- guid 表示执行相应脚本的用户具有文件所述用户组的权限 5
设置 suid 需要将 0 变成 4, 设置 guid 需要将 0 变成 2: 4777 和 2777, 或者 都有则 6777.
- EOF -
本文最先发布在: Linux 下的文件权限备忘 - Xheldon Blog