Linux 文件权限详解

配图源自 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 有写和执行权限
4 r-- 只读权限
5 r-x 读和执行权限
6 rw- 读写权限
7 rwx 读写和执行权限

每种身份的权限数字为 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 表示要更改的权限。

符号 功能 说明
u who 文件所有者
g who 文件所在群组
o who 其他用户
a who 所有用户
👻
= operator 赋值
+ operator 添加
- operator 删除
👻
r permissions 读权限
w permissions 写权限
x permissions 执行权限

因此,

$ 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,这里不做展开,有兴趣自行查阅。

The end.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容