一、基本概念
Linux/Unix是多用户系统:root是超级用户,拥有最高权限,其他用户及权限由root管理。文件/目录的权限有三种,可读read(r)可写write(w)可执行excute(x)。每个文件或目录又分为所有者(user)权限,所有者所在组(group)的权限,其他用户(other)权限。
通过ls -l命令我们可以查看当前目录下的文件或文件夹权限
我们来看一下每行的前10个字符
d rwx r-xr-x “d”表示为目录,rwx是所有者权限为可读可写可执行,r-x为组权限为可读可执行,r-x其他用户权限为可读可执行。“-表示缺失”
- rw- r-- r -- 第一个“-”表示文件,rw-表示所有者可读可写,r--表示组用户和其他用户为可读,“-”表示缺失。
权限可以用二进制表达法,如果文件为可读可写可执行rwx,可以表示为111,如果不可读不可写不可执行表示为000。转换为对应的八进制就分别为7和0
二进制 八进制 权限
000 0 ---
001 1 --x
010 2 -w-
011 3 -wx
100 4 r--
101 5 r-x
110 6 rw-
111 7 rwx
如果文件的权限为777对应的二进制就是-111111111,文件权限为:- rwx rwx rwx。表示对所有人可读、可写、可执行。
二、权限的作用
通过ls -l命令知道文件/目录的权限后,可以对其进行相应操作。
1、文件
可读:可以使用vi、cat命令查看文件的内容
可写:可以修改后保存在磁盘
可执行:可以直接运行
2、目录
可读:通过ls 查看目录下的内容
可写:可以改变目录下的内容,比如新建、删除资源
可执行:可以cd进去
三、修改权限
修改文件/目录的权限:chmod 规则 文件/目录名
1、规则
角色:u 自己人 user
g 同组人 group
o 其他人 other
a 所有人 all
操作:+ - 权限:r w x
数字:644 755 ...
u g o
举例: rw- r-- r--
# chmod u+x 1.txt 针对自己增加可执行权限
# chmod u-x 1.txt 针对自己去除可执行权限
# chmod g+w 1.txt 针对同组人增加可写权限
# chmod a+rx, g+w 1.txt
所有人都可读,可执行;同组的可写
# chmod 777 1.txt 数字表达法
# chmod 644 1.txt
前提:只有文件的拥有者、root用户可以修改权限