文件权限设置

权限说明

Linux 的文件基本权限有9个,分别是 owenr、group、others 三种身份各自有自己的 r、w 和x,比如“rwxrwxrwx”,就表示owener 具有r(read 读)、w(write 写)、x(execute 访问)权限,同样 group 和 others 同样具有 r、w、x 权限。
可以使用数字表示权限:

r->4
w->2
x->1

当文件权限为“rwxrwxrwx”时,分数是 :

owner->4+2+1=7
group->4+2+1=7
others->4+2+1=7

此时文件的权限数字就是 777。

使用 chmod 命令设置权限

Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命,语法 :

chmod [-cfvR] [--help] [--version] mode file...

参数说明

u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

其他参数说明:
-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本

八进制语法

chmod 命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来说明一个类具有相应的优先级。

# 权限 rwx 二进制
7 读 + 写 + 执行 rwx 111
6 读 + 写 rw- 110
5 读 + 执行 r-x 101
4 只读 r-- 100
3 写 + 执行 -wx 011
2 只写 -w- 010
1 只执行 --x 001
0 无 --- 000

例如, 765 将这样解释:

所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如 rwx ,也就是 4+2+1 ,应该是 7。
用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如 rw- ,也就是 4+2+0 ,应该是 6。
其它用户的权限数字表达:其它用户权限位的数字相加的总和。如 r-x ,也就是 4+0+1 ,应该是 5。

示例

chmod 777 file