创作日志: 上次学习了权限的表示方法,现在学习修改权限
在 Linux 系统中,修改文件权限的主要方式有两种:使用数字权限代码(数字方式)和符号表示法(符号方式)。这些方法通过 chmod (change mode) 命令来实现。下面详细解释这两种方法:
eg. Linux 中有一个文件 a.txt,其权限标识为: - r - - r - - r - -,现要将其权限值修改为 631。
方式1——直接修改权限数字
这个方式最简单,不用考虑原来的权限是怎样的,直接赋予文件新的权限就行,前提是我们计算出了新的权限数字代码。
chmod 631 a.txt
方式2——修改权限符号
这个方式比较灵活和直观。命令中会明确表示操作对象是谁(user, group, others, all)、要增加还是减少权限(+,-)或直接设置权限(=)。
(1)确定原有的权限符号
-r - - r - - r - -,第一个 - 代表这是一个文件,后面分别代表了 user 权限 r - - ,group 权限 r - - ,others 权限 r - -
(2)确定新的权限符号
631:
user: 6 = 4+2 = rw-
group: 3 = 2+1 = -wx
others: 1 = --x
用户类别 | user (u) | group (g) | others (o) |
---|---|---|---|
原权限 | r - - | r - - | r - - |
新权限 | r w - | - w x | - - x |
(3)修改权限
以这道题目为例:
1. user的权限 很明显只增加了一个write,对象是 u,增加的对象是 w,所以可以:
chmod u+w a.txt
也可以直接设置:
chmod u=rw- a.txt
2. group的权限 去掉了read,增加了write 和 execute,所以可以:
chmod g-r g+wx a.txt
也可以直接设置 (注意这里的 -wx 首部的 - 可以被忽略,但是后面的 - 则不能被忽略)
chmod g=wx a.txt
3. others的权限 去掉了read,增加了execute
chmod o-r o+x a.txt
也可以
chmod o=x a.txt
当然以上操作都可以同时进行,对三种用户同时修改权限,怎么组合都可以,比如:
chmod u=rw-, g=wx, o=x a.txt
chmod u+w, g-r, g+wx, o=x a.txt