Unix是多任务、多用户的操作系统,这以为着多个用户可以在同一时间使用同一台计算机。用户拥有文件或目录,则该用户对这个文件或目录的访问权限具有控制权。而用户又属于一个用户组(可以包含一个或多个用户),用户组成员由文件或目录的所有者授予对文件或目录的访问权限。除了对用户组授权外,文件所有者可以给每个人一些权限。
在Unix系统中,可以通过shell中输入命令 id 来查看身份信息,系统中每个用户的uid是不同的。
文件的读写与执行
对于文件的读写与执行,首先通过一下命令查看输出的结果:
这里创建了一个目录test_authority,并在目录中创建了一个文件authority_test.txt。之后查看文件线索。这里我们主要说前十个字符 -rw-r–r–。
- 第一个代表的是文件类型。
- - 表示普通文件
- d 表示目录
- 其他,比如 l 符号链接、 c 字符设备文件,比如终端机或者调制解调器、 b 块设备文件比如硬盘,CD-ROM盘
- 剩下的九个字符叫做文件模式,代表文件所有者,文件组所有者,其他人的读、写、执行权限
Owner | Group | World |
---|---|---|
rwx | rwx | rwx |
当设置文件模式后,r、w、x模式属性对文件和目录产生以下影响:
属性 | 文件 | 目录 |
---|---|---|
r | 读取文件的内容 | 允许列出目录内容,前提是目录必须可执行 |
w | 写入文件内容,但不允许重命名或删除 | 可以在目录下新增、修改、重命名,前提是目录必须可执行 |
x | 允许文件作为程序来执行,前提必须置为可读 | 允许进入目录,例如 cd xx |
以下举几个例子:
文件属性 | 含义 |
---|---|
-rwx—— | 普通文件,文件所有者可读可写可执行,其他人无任何权限 |
-rw——- | 普通文件,文件所有者可读可写,其他人无任何权限 |
-rw-r–r– | 普通文件,文件所有者可读可写,文件所有者所在组可读,其他人可读 |
-rwxr-xr-x | 普通文件,文件所有者可读可写可执行,文件所有者所在组可读可执行,其他人可读可执行 |
drwxrwx— | 目录,目录所有者及所有者所在的分组可以访问目录,在目录中新建、修改、删除文件,其他人无权限 |
drwxr-x— | 目录,目录所有者可以访问目录,在目录中新建、修改、删除文件;文件所有者所在分组可以访问目录,其他人无权限 |
chmod 修改文件模式
文件/目录的所有者或者超级管理员可以用 chmod 命令来更改文件或者目录的权限。
chmod命令支持两种不同的方式来更改文件模式:
- 八进制数字表示法
- 每个八进制数字代表了3个二进制数字。
- 可以使用命令 chmod 600 authority_test.txt 将文件模式修改为可读可写
十进制 | 二进制 | 文件模式 | 说明 |
---|---|---|---|
0 | 000 | — | 无权限 |
1 | 001 | –x | 执行 |
2 | 010 | -w- | 写 |
3 | 011 | -wx | 写、执行 |
4 | 100 | r– | 读 |
5 | 101 | r-x | 读、执行 |
6 | 110 | rw- | 读、写 |
7 | 111 | rwx | 读、写、执行 |
- 符号表示法
- 由3部分组成。
- 会影响谁,包括 u 、 g 、 o 、 a
- 具体操作,包括 + 、 - 、 =
- 设置的权限,由 r 、 w 、 x 进行组合,例如 x 、 rw 、 rwx 等
- 由3部分组成。
影响谁 | 含义 |
---|---|
u | “user”的简写,意思是文件或目录的所有者。 |
g | 用户组 |
o | “others”的简写,意思是其他所有的人 |
a | “all”的简写,是”u”, “g”和“o”三者的联合 |
如果没有指定字符,则假定使用”all” |
具体操作 | 含义 |
---|---|
+ | 加上一个权限 |
- | 删掉一个权限 |
= | 只有指定的权限可用,其它所有的权限被删除 |
以下举几个例子:
符号表示 | 含义 |
---|---|
u+x | 为文件所有者添加可执行权限 |
+x | 为文件所有者,用户组,和其他所有人添加可执行权限。 等价于 a+x。 |
o-rw | 除了文件所有者和用户组,删除其他人的读权限和写权限 |
go=rw | 给群组的主人和任意文件拥有者的人读写权限。如果群组的主人或全局之前已经有了执行的权限,他们将被移除。 |
u+x,go=rw | 给文件拥有者执行权限并给组和其他人限定读和执行的权限。多种设定可以用逗号分开。 |