Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
查看权限
使用 ls -l 命令可以查看与文件权限相关的信息:1
2
3[root@Automation /]# ls -l
drwxr-xr-x. 9 root root 4096 10月 7 19:28 apache-tomcat-8.0.28
-rw-r--r--. 1 root root 9708967 11月 19 12:17 apache-tomcat-8.0.28.zip
在Linux中第0位确定文件类型,代表这个文件是目录、文件或链接文件等等。
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档(link file);
若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
接下来的字符中,以三个为一组,每个字符都代表不同的权限,分别为读取(r)、写入(w)和执行(x):
• 第一组字符(1-3)表示文件所有者的权限。
• 第二组字符(4-6)表示文件所属用户组的权限。
• 第三组字符(7-9)表示所有其他用户的权限。
更改权限
可以使用 chmod (change mode) 命令来改变文件或目录的访问权限,权限可以使用符号或数字来表示。
使用符号表示权限
u, g, o来代表三种身份的权限。
增加权限(+)
1
2
3
4
5[root@Automation file]# ls -l
-rw-r--r-- 1 root root 0 11月 26 10:35 right.txt
[root@Automation file]# chmod g+w right.txt
[root@Automation file]# ls -l
-rw-rw-r-- 1 root root 0 11月 26 10:35 right.txt删除权限(-)
1
2
3
4[root@Automation file]# chmod u-w right.txt
[root@Automation file]# ls -l
drwxr-xr-x. 2 root root 4096 11月 19 13:27 a
-r--rw-r-- 1 root root 0 11月 26 10:35 right.txt指定权限(=)
1
2
3[root@Automation file]# chmod o=rwx right.txt
[root@Automation file]# ls -l
-r--rw-rwx 1 root root 0 11月 26 10:35 right.txt
使用数字表示权限
用数字来代表各个权限,各权限的分数对照表如下:
r: 4
w: 2
x: 1
1 | [root@Automation file]# chmod 755 right.txt |
更改所有者和组
chown来改变文件的所有者
chown 命令是”change owner”的缩写。1
2
3[root@Automation file]# chown yhu right.txt
[root@Automation file]# ls -l
-rwxr-xr-x 1 yhu root 0 11月 26 10:35 right.txt
chgrp:来改变文件所在的群组
chgrp 命令是”change group”的缩写。1
2
3[root@Automation file]# chgrp rzhang right.txt
[root@Automation file]# ls -l
-rwxr-xr-x 1 yhu rzhang 0 11月 26 10:35 right.txt
Notes:超级用户 root 可以不受限制的更改文件的所有者和用户组,但是普通用户只能更改所有者是自己的文件或目录。
了解一下umask
当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。默认情况下的umask值是022(可以用umask命令查看),此时缺省创建的文件不能有x权限的。
umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。
换算:1
2
3
4
5
6
7[root@Automation file]# umask
0022
[root@Automation file]# umask 077
[root@Automation file]# touch a.txt
[root@Automation file]# ls -l
-rw------- 1 root root 0 11月 26 11:18 a.txt
-rwxr-xr-x 1 yhu rzhang 0 11月 26 10:35 right.txt
后话
Linux玩的就是权限,但请记住,权限并不是越大越好。一定要多加练习,弄明白权限这块,为以后更好的使用Linux打下基础。