文件/目录的权限
- Linux的文件/目录权限有三种:可读(Readable)、可写(Writable)、可执行(Executable)。
- Linux的权限对象有三个:文件/目录的所属用户(owner)、文件/目录的所属组别(group)、其他(other),root具有最高权限,不计入之内。
一、查看文件/目录的详细信息(包括权限)
查看某个文件或目录的权限可通过ls
命令来实现,如下:
// 查看文件initial-setup-ks-test.cfg的权限信息
ls -l initial-setup-ks-test.cfg
执行结果和各字段的含义如下
如上图所示,第一列第一个字符表示文档的类型,类型不同,字符不同:
- “-”:表示类型为文件
- “d”:表示类型为目录
- “l”:表示为链接文件(link file)
- “b”:表示可供储存的接口设备
- “c”:表示串行端口设备,如键盘、鼠标
第一列之后的9个字符代表该文件的权限,文件、目录的权限主要由r
、w
、x
、-
4个字符构成,其中r
表示可读,w
表示可写,x
表示可执行,若不具有r
、w
、x
的任何一种权限,则用-
代替。
rwx
:权限为可读、可写、可执行rw-
:权限为可读、可写、不可执行r--
:权限为可读、不可写、不可执行
二、文件权限与目录权限的意义
文件权限
文件的权限主要是针对文件的内容。
r
(可读):可读取文件的内容w
(可写):可编辑文件的内容(但不包括删除该文件)x
(可执行):文件内容可以被系统执行
目录权限
目录的权限主要是针对该目录下的文件或目录。
r
(可读):可以读取目录结构列表,具有可读权限,能够利用ls
命令读取显示该目录下的文件和目录w
(可写):可以修改目录结构列表,具体表现有以下几种
1、 新建文件与目录
2、删除文件与目录(不论该文件/目录的权限为何)
3、重命名文件与目录
4、移动文件与目录的位置x
(可执行):表示具有该权限的用户可以进入该目录,使该目录成为工作目录,即可通过cd
命令进入该目录下
三、设置文件/目录的权限
文件/目录的权限设置可通过指令chmod
来实现,有数字形式和符号形式两种。
数字形式设置权限
权限的状态可通过二进制对应,可读、可写、可执行对应二进制下的1,反之则对应为0。根据rwx
的顺序,可读、可写、可执行分别具有自己的位权。
权限 | 对应位权 |
---|---|
可读 | 4 |
可写 | 2 |
可执行 | 1 |
所具有的权限对应位权相加,得到权限的数字形式。如下:
权限 | 对应二进制 | 对应数字 |
---|---|---|
rwx | 111 | 7 |
rw- | 110 | 6 |
–w | 001 | 1 |
r-w | 101 | 5 |
通过以上规则,可用数字形式对文件/目录的权限进行设置。
## 设置文件 a.txt 的权限 ##
# 权限为rwxrw----
chmod 760 a.txt
# 权限为rwxrwxr--
chmod 774 a.txt
符号形式更改权限
符号形式下设置权限,有4种设置对象:
u
:user,用户g
:group,组别o
:other,其他a
:all,所有,即u g o三者
符号形式下有3种权限操作:
+
:添加权限-
:删除权限=
:设定权限
按照以上规则,通过指令chmod
可进行如下权限设置
## 设置文件 a.txt 的权限 ##
# 权限为rwxrw----
chmod u=rwx,g=rw,o= a.txt
# 注意:“u=rwx,g=rw,o=”之间不存在空格
# 权限为rw-rw-rw-
## 方式1
chmod a=rw a.txt
## 方式2
chmod u=rw,g=rw,o=rw a.txt
# 在以上操作的基础上,把权限设为rwxrwxr--
chmod ug+x,o-w a.txt