Linux 文件权限详解

发布于 2023-05-05 22:11:04 字数 4179 浏览 69 评论 0

配图源自 Freepik

在对文件进行操作之前,应先了解文件权限是什么?有哪些权限?

$ tree .
.
├── README.md
├── package.json
└── src

1 directory, 2 files

以上有一个目录和两个文件。然后通过 ls -l 命令,可以查看文件的具体属性:

$ ls -l
total 8
-rw-r--r--  1 frankie  staff   0  7  3 00:18 README.md
-rw-r--r--  1 frankie  staff  90  7  2 22:42 package.json
drwxr-xr-x  2 frankie  staff  64  7  2 22:42 src

package.json 文件为例,

其中 -rw-r--r-- 首个字符 - 表示「文件类型」,后面的九位字符 rw-r--r-- 表示「文件权限」。

「文件类型」用于表明它是文件、链接文件或者目录等,主要有以下几种:

  • 若为 d 则是目录;
  • 若为 - 则是文件;
  • 若为 l 则表示为链接文件(link file);
  • 若为 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若为 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

「文件权限」分为三种身份,分别为文件所有者权限(owner)、文件所在群组权限(group)、其他用户权限(others)。每一种身份都有各自的读写执行权限。通常情况下,一个文件只能归属于一个用户和群组,如果其他用户想拥有此文件的权限,可以将该用户加入到具有权限的群组,一个用户可同时归属于多个群组。

每种身份包括读写和执行权限,其中 r 表示读权限(read),w 表示写权限(write),x 表示执行权限(execute),- 表示无对应权限。除了用 rwx- 形式之外,也可以使用八进制数模式来表示,对应如下:

八进制值文件权限权限说明
0---无任何权限
1--x仅执行权限
2-w-仅写权限
3-wx有写和执行权限
4r--只读权限
5r-x读和执行权限
6rw-读写权限
7rwx读写和执行权限

每种身份的权限数字为 rwx 的累加得出来的。比如,前面 package.json 的权限为 -rw-r--r--,表示文件所有者权限为 rw-(4+2+0),文件所在群组权限为 r--(4+0+0),其他用户权限为 r--(4+0+0),因此该文件的权限数字为 0o644

我们常用 chmod 命令来修改文件的权限,比如:

$ chmod 755 ./src/bin/test.js

以上的 755 就是表示权限数字,该文件的权限将被改写为 rwxrw-rw-,即所有者可读写可执行,所在群组可读,其他用户可读。

除了数字方式,还可以通过字符方式修改文件权限。形式如:

$ chmod who+operator+permissions <file>

其中 who 表示要更改权限的用户,operator 表示要执行的操作,permissions 表示要更改的权限。

符号功能说明
uwho文件所有者
gwho文件所在群组
owho其他用户
awho所有用户
   
=operator赋值
+operator添加
-operator删除
   
rpermissions读权限
wpermissions写权限
xpermissions执行权限

因此,

$ chmod 755 ./src/bin/test.js

# 相当于
$ chmod u=rwx,g=rw,o=rw ./src/bin/test.js

# 也可对每种用户分别设置
$ chmod u=rwx ./src/bin/test.js
$ chmod g=rw ./src/bin/test.js
$ chmod o=rw ./src/bin/test.js

除了常见的 r/w/x 权限之外,还有一些特殊权限:SUID、SGID 和 SBIT,这里不做展开,有兴趣自行查阅。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

我三岁

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

懂王

文章 0 评论 0

清秋悲枫

文章 0 评论 0

niceone-tech

文章 0 评论 0

小伙你站住

文章 0 评论 0

刘涛

文章 0 评论 0

南街九尾狐

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文