介绍
Linux是多用户的操作系统,允许多个用户同时登录和工作,Linux权限是操作系统用来限制不同用户对资源的访问机制。这里暂且将Linux的权限分为三类:
- 基本权限:给文件和目录的所属者、所属组、其他用户分配的读、写、执行的权限
- ACL权限:ACL权限可以针对单一用户或者用户组设定权限,是基本权限之外更细化的权限设定,弥补了基本权限设定不能满足的一些场景
- 特殊权限:除了读写执行权限的另一种特殊权限
基本权限
权限位介绍,使用ls -l
命令查看时,长格式显示出来的第一列就是文件的权限,例如:
root@master-01:~# ls -l
total 583436
drwxr-xr-x 2 root root 4096 Feb 24 12:10 airflow-offline
-rw-r--r-- 1 root root 0 Feb 24 17:07 _binary.tar.enc
-rw-r--r-- 1 root root 3195 Feb 28 17:13 biz_config_meta
drwxr-xr-x 2 root root 4096 Mar 3 16:11 clickhouse
drwxr-xr-x 2 root root 4096 Mar 24 15:50 clickhouse-metrics
-rw-r--r-- 1 root root 235913 Mar 3 16:10 clickhouse-operator-install-bundle.yaml
drwxr-xr-x 2 root root 4096 Feb 28 16:21 cm
drwxr-xr-x 2 root root 4096 Mar 10 11:54 conf
drwxr-xr-x 2 root root 4096 Mar 17 11:32 cronlog
-rw-r--r-- 1 root root 613 Feb 24 17:10 delivery_decrept.sh
第一列的权限位drwxr-xr-x
,含义如图所示:
rwx代表的含义:
- r:表示read,是否可以查看文件的内容
- w:表示write,写,是否可以写入、修改文件的内容
- x:表示exec,可执行,一般是给命令或者系统脚本使用,运行命令
权限与数字之间进行转换
字母权限 | 数字权限 |
---|---|
r | 4 |
w | 2 |
x | 1 |
- | 0 |
修改文件权限 chmod
-
chmod语法格式:
chmod [参数] 权限模式 文件或目录
-
参数说明:
- -R:递归设置权限,也就是给予目录中的所有文件喝子目录设定权限
- --reference=参考文件或目录:使用文件或参考目录的权限来设置目标文件或目录的权限
权限设置方式
在设置权限方式之前需要了解一个文件的权限包含哪些主体,用户身份、赋予方式和权限这三个主体缺一不可
-
用户身份:
- u:user代表拥有者
- g:group代表用户组
- o:other代表其它用户
- a:all代表所有用户
-
赋予方式:
- +:加入权限
- -:去掉权限
- =:设置权限、修改权限
-
权限:
- r:read,读取权限
- w:write写入权限
- x:exec可执行权限
案例集合
- 一、创建test.log文件,并赋予所有类型用户读写执行权限
root@iv-ydpkgu0jcwwh2yox8410:~/data# touch test.log
root@iv-ydpkgu0jcwwh2yox8410:~/data# ll
total 0
-rw-r--r-- 1 root root 0 Mar 31 14:39 test.log
root@iv-ydpkgu0jcwwh2yox8410:~/data# chmod 777 test.log
root@iv-ydpkgu0jcwwh2yox8410:~/data# ll
total 0
-rwxrwxrwx 1 root root 0 Mar 31 14:39 test.log
root@iv-ydpkgu0jcwwh2yox8410:~/data#
- 二、使所有用户没有写的权限
root@iv-ydpkgu0jcwwh2yox8410:~/data# chmod a-w test.log
root@iv-ydpkgu0jcwwh2yox8410:~/data# ll
total 0
-r-xr-xr-x 1 root root 0 Mar 31 14:39 test.log
root@iv-ydpkgu0jcwwh2yox8410:~/data#
修改文件拥有者 chown
chown命令用来修改文件或目录所有者和所属用户组
- 语法:
chown [选项] 所有者[.所属组] 文件或目录名称
- 参数说明:
- -R:递归设置权限,也就是给予目录中的所有文件喝子目录设定权限
- --reference=参考文件或目录:使用文件或参考目录的权限来设置目标文件或目录的权限
注意:普通用户不能修改文件的所属者和所属组,哪怕这个文件是自己的也不行,普通用户只能修改自己的文件权限
修改test.log文件的拥有者为root
chown root.root test1.txt