1 在 Terminal 中查看文件的权限
$ ls -l
total 16
----rw-r-- 1 morvan morvan 34 Oct 12 09:51 t1.py
-rw----r-- 1 morvan morvan 80 Oct 12 09:57 t2.py
-rw-rw-r-- 1 morvan morvan 12 Oct 12 09:56 t3
-rwxrw-r-- 1 morvan morvan 55 Oct 13 17:28 t.py
在这里, 像-rw-rw-r--
这种, 就是权限的说明. 细节展示在下面的图中. 在下图中, 这串字符得拆成4个部分,
Type
: 很多种 (最常见的是-
为文件,d
为文件夹, 其他的还有l
,n
… 这种东西, 真正自己遇到了, 网上再搜就好, 一次性说太多记不住的).User
: 后面跟着的三个空是使用 User 的身份能对这个做什么处理 (r
能读;w
能写;x
能执行;-
不能完成某个操作).Group
: 一个 Group 里可能有一个或多个 user, 这些权限的样式和 User 一样.Others
: 除了 User 和 Group 以外人的权限.
2 chmod 修改权限
通常的修改形式是
$ chmod [谁][怎么修改] [哪个文件]
举个最简单的例子, 现在的 t1.py
是 ----rw-r--
, 如果我们想让你(user)有读的能力. 下面这样改就行了.
$ chmod u+r t1.py
$ ls -l
-r--rw-r-- 1 morvan morvan 34 Oct 12 09:51 t1.py
这里的 u+r
很形象, User + read, 给 t1.py 这个修改. 所以我们的修改形式就能总结出下面这样.
[谁]
u
: 对于 User 修改g
: 对于 Group 修改o
: 对于 Others 修改a
: (all) 对于所有人修改
[怎么修改]
+
,-
,=
: 作用的形式, 加上, 减掉, 等于某些权限r
,w
,x
或者多个权限一起, 比如rx
[哪个文件]
- 施加操作的文件, 可以为多个
我们再举几个例, 巩固一下.
-rw----r-- 1 morvan morvan 80 Oct 12 09:57 t2.py
-rw-rw-r-- 1 morvan morvan 12 Oct 12 09:56 t3
-rwxrw-r-- 1 morvan morvan 55 Oct 13 17:28 t.py
$ chmod u-r t2.py
$ ls -l t2.py
--w----r-- 1 morvan morvan 80 Oct 12 09:57 t2.py
$ chmod g+x-w t3
$ ls -l t3
--w-r-xr-- 1 morvan morvan 12 Oct 12 09:56 t3