1. 文件权限
文件权限 | 说明 |
r | read读取权限,查看文件内容 |
w | write写入权限,修改文件内容,需要r权限配合 |
x | execute执行权限。运行命令,运行脚本,需要r权限配合 |
- | 没有权限 |
1.1. 使用数字表达权限
权限 | 数字权限 |
r | 4 |
w | 2 |
x | 1 |
- | 0 |
644权限 相当于 -rw-r--r--
2. 目录权限
目录权限 | 说明 |
r | 查看目录内容权限 |
w | 在目录下创建、删除、重命名文件权限 |
x | 进入目录,查看或修改目录下文件属性权限 |
- | 没有权限 |
3. 特殊权限
特殊权限 | 说明 |
suid setuid | 所有用户运行命令时,获取这个命令所有者权限 |
sgid setgid | 所有用户运行命令时,获取这个命令用户组权限 |
sticky 粘滞位 | /tmp/ 拥有粘滞位的目录,777权限,每个用户只能管理自己创建的文件 |
4. 特殊属性
特殊属性 | |
a属性 | append只能追加 |
i属性 | immutalbe不可改变的 |
5. 修改权限
5.1. chmod修改文件目录权限
- 使用数字修改权限
chmod 755 test.txt
- 使用字母修改权限
chmod u+x test.txt
- 案例,给/etc/rc.local添加执行权限
chomd +x /etc/rc.local
# /etc/rc.local开机自动执行一个命令或者一个服务
5.2. chown修改所有者
chown 所属主.所属组
chown -R 所属主.所属组
5.3. chattr修改特殊属性
chattr +a test.txt
chattr -a test.txt
chattr +i test.txt
chattr -i test.txt
5.4. lsattr查看特殊属性
lsattr test.txt
6. 故障案例-误修改/目录权限
- chown不小心把"/"目录以及子目录的权限修改了,如何拯救?
- 模拟误修改
[root@kylin210 /]# chown -R 123.123 /
[root@kylin210 /]# ls -l
总用量 26552
drwxr-xr-x 3 123 123 19 4月 25 11:50 app
drwxr-xr-x. 4 123 123 95 5月 7 09:19 backup
lrwxrwxrwx 1 123 123 7 3月 6 2021 bin -> usr/bin
dr-xr-xr-x. 6 123 123 4096 4月 23 12:01 boot
drwxr-xr-x 20 123 123 4060 5月 9 07:49 dev
drwxr-xr-x 124 123 123 8192 5月 9 14:29 etc
drwxr-xr-x 5 123 123 45 5月 9 14:29 home
lrwxrwxrwx 1 123 123 7 3月 6 2021 lib -> usr/lib
lrwxrwxrwx 1 123 123 9 3月 6 2021 lib64 -> usr/lib64
drwxr-xr-x 2 123 123 6 3月 6 2021 media
drwxr-xr-x 2 123 123 6 3月 6 2021 mnt
drwxr-xr-x 3 123 123 265 5月 8 10:31 oldboy
drwxr-xr-x 2 123 123 60 4月 28 21:42 oldboy-83-lnb
drwxr-xr-x 8 123 123 116 5月 6 19:14 opt
dr-xr-xr-x 219 123 123 0 5月 9 07:49 proc
dr-xr-x--- 5 123 123 4096 5月 9 15:57 root
drwxr-xr-x 38 123 123 1080 5月 9 14:29 run
lrwxrwxrwx 1 123 123 8 3月 6 2021 sbin -> usr/sbin
drwxr-xr-x 2 123 123 6 3月 6 2021 srv
drwxr-xr-x 3 123 123 38 5月 9 11:27 study
dr-xr-xr-x 14 123 123 0 5月 9 16:49 sys
drwxrwxrwt 9 123 123 180 5月 9 14:30 tmp
drwxr-xr-x 12 123 123 144 4月 23 11:58 usr
drwxr-xr-x 23 123 123 320 4月 29 21:09 var
- 从另一个设备中使用
getfacl
导出一下系统文件的权限信息。
getfacl -R / > root_acl.txt
- 将权限信息文件导入到故障机器
- 使用setfacl命令进行恢复
# 先切换到/目录,再执行setfacl
[root@kylin210 /]# cd /
[root@kylin210 /]# setfacl --restore=root_acl.txt
7. umask
- 控制创建文件或目录默认权限
[root@ky201 ~]# umask
0022
目录默认权限 777 - 022 = 755
文件默认权限 666 - 022 = 644