一、 权限简介
.
.
-
1、Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。
-
2、Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。
-
3、Linux下权限的粒度有 拥有者 、群组 、其它组 三种。每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。通常情况下,一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。
-
4、Linux上通常使用chmod命令对文件的权限进行设置和更改。
.
.
.
.
文件的权限:可以用指令ls -l查看文件的详细权限**
.
.
二、Linux权限详解
.
1、Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。这也是Linux有别于Windows的机制,也是基于这个权限机智,Linux可以有效防止病毒自我运行,因为运行的条件是必须要有运行的权限,而这个权限在Linux是用户所赋予的。
.
.
2、Linux的文件权限有以下设定:
- 1)、Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。
- 2)、Linux下权限的属组有 拥有者 、群组 、其它组 三种。每个文件都可以针对这三个属组(粒度),设置不同的rwx(读写执行)权限。
- 3)、通常情况下,一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。
如果我们要表示一个文件的所有权限详情,有两种方式:
.
.
3、第一种是十位二进制表示法,(三个属组每个使用二进制位,再加一个最高位共十位),可简化为三位八进制形式
另外一种十二位二进制表示法(十二个二进制位),可简化为四位八进制形式
.
.
十位权限表示
常见的权限表示形式有:
1、-rw------- (600) 只有拥有者有读写权限。
2、-rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
3、-rwx------ (700) 只有拥有者有读、写、执行权限。
4、-rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
5、-rwx--x--x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
6、-rw-rw-rw- (666) 所有用户都有文件读、写权限。
7、-rwxrwxrwx (777) 所有用户都有读、写、执行权限。
后九位解析:
Linux权限总共有三个属组,这里我们给每个属组使用三个位置来定义三种操作(读、写、执行)权限,合起来则是权限的后九位。 上面我们用字符表示权限,其中 -代表无权限,r代表读权限,w代表写权限,x代表执行权限。
.
.
关于第一位最高位的解释: 上面我们说到了权限表示中后九位的含义,剩下的第一位代表的是文件的类型,类型可以是下面几个中的一个:
1、 d 代表的是目录(directroy)
2、 - 代表的是文件(regular file)
3、 s 代表的是套字文件(socket)
4、 p 代表的管道文件(pipe)或命名管道文件(named pipe)
5、 l 代表的是符号链接文件(symbolic link)
6、 b 代表的是该文件是面向块的设备文件(block-oriented device file)
7、 c 代表的是该文件是面向字符的设备文件(charcter-oriented device file)
.
.
Linux中可以用chmod修改文件的权限
Linux中的rwx也可以用数字表示
r=4
w=2
x=1
这些转变成二进制就很好理解了:
4=0000 0100
2=0000 0010
1=0000 0001
.
.
.
如给所有者添加执行权限
.
.
chmod u+x 文件名
.
.
可以直接设置多个权限,例如
.
.
chmod u+x,g+w 文件名