一、普通权限
<1>. 查看权限:
[weixiangxiang@localhost /]$ ll
总用量 36
lrwxrwxrwx. 1 root root 7 7月 22 02:37 bin -> usr/bin
drwxr-xr-x. 3 root root 21 8月 1 10:28 data
drwxr-xr-x. 138 root root 8192 8月 1 19:35 etc
drwxr-xr-x. 6 root root 65 7月 31 17:33 home
lrwxrwxrwx. 1 root root 7 7月 22 02:37 lib -> usr/lib
drwxr-xr-x. 8 root root 182 7月 31 19:28 opt
dr-xr-x---. 17 root root 4096 8月 1 19:36 root
drwxr-xr-x. 14 root root 167 7月 12 2017 usr
......
第0位表示文件类型:
类型 | 含义 |
解释 |
– | 普通文件 | |
b | 块设备文件 | 是一种特殊设备文件,存储设备都是这种文件,如分区文件/dev/sda1就是这种文件。 |
c | 字符设备文件 | 是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘等。 |
d | 目录文件 | |
l | 软链接文件 | |
p | 管道符文件 | 是一种非常少见的特殊设备文件。 |
s | 套接字文件 | 是一种特殊设备文件,一些服务支持Socket访问,就会产生这样的文件。 |
第1~3位表示属主权限(user):
第4~6位表示属组权限(group):
第7~9位表示其他人权限(others):
类型 |
含义 |
-:none | 无读写执行权限 |
r:read | 可读权限 |
w:write | 可写权限 |
x:execute | 可执行权限 |
<2>. 修改权限:
-
命令格式:chmod [选项] 权限模式 文件/目录 -
含义:change file mode bits -
路径:/bin/chmod -
功能:修改文件的权限模式
权限模式:
创建一个test.txt文件,并查看权限,修改权限
# 创建测试文件
[weixiangxiang@localhost ~]$ touch test.txt
[weixiangxiang@localhost ~]$ ll
总用量 8
-rw-rw-r--. 1 weixiangxiang weixiangxiang 0 8月 2 21:25 test.txt
# 属主添加x权限,属组减掉w权限,其他人增加w权限
[weixiangxiang@localhost ~]$ chmod u+x,g-w,o+w test.txt
[weixiangxiang@localhost ~]$ ll
总用量 8
-rwxr--rw-. 1 weixiangxiang weixiangxiang 0 8月 2 21:25 test.txt
# 不需要关心原来权限是什么,直接通过=设置权限需要的权限
[weixiangxiang@localhost ~]$ chmod u=rwx,g=rw,o=rw test.txt
[weixiangxiang@localhost ~]$ ll
总用量 8
-rwxrw-rw-. 1 weixiangxiang weixiangxiang 0 8月 2 21:25 test.txt
简化字母赋予权限的方式,使用数字表示,比如属主权限中:r表示4,w表示2,x表示1,组合的话进行相加即可,即7=4+2+1表示可读可写可执行,同理5=4+1表示可读可执行。
- 412:属主可读、属组可执行、其他人可写;
-
666:文件默认最大的权限,表示属主、属组、其他人都是可读可写; -
777:目录默认最大的权限,表示属主、属组、其他人都是可读可写可执行;
[weixiangxiang@localhost ~]$ mkdir test_20210802
[weixiangxiang@localhost ~]$ ll
总用量 8
drwxrwxr-x. 2 weixiangxiang weixiangxiang 6 8月 2 21:47 test_20210802
-rwxrw-rw-. 1 weixiangxiang weixiangxiang 0 8月 2 21:25 test.txt
# -R表示递归设置权限
[weixiangxiang@localhost ~]$ chmod -R 777 test_20210802
总用量 8
drwxrwxrwx. 2 weixiangxiang weixiangxiang 6 8月 2 21:47 test_20210802
-rwxrw-rw-. 1 weixiangxiang weixiangxiang 0 8月 2 21:25 test.txt
666,777都是最高的权限,为了安全性实际上不建议这么设置!!!
<3>. 修改文件所属主的权限:
-
命令格式:chown [选项] 所属主:所属组 文件/目录 -
含义:change file owner and group -
路径:/bin/chown -
功能:修改文件和目录的所有者和所属组
举例:
使用root用户创建一个日志文件,通过ll命令显示对用户组及其他用户只读,修改文件的所属主 或 所属主和所属组
[root@localhost home]# touch test001.log
[root@localhost home]# ll
总用量 2
drwx------. 3 mysql mysql 78 7月 31 17:33 mysql
-rw-r--r--. 1 root root 0 8月 2 22:04 test001.log
drwx------. 17 weixiangxiang weixiangxiang 4096 8月 2 22:04 weixiangxiang
# 将该文件的属主权限修改为 weixiangxiang, 该用户则具有了 rw 权限
[root@localhost home]# chown weixiangxiang test001.log
总用量 2
drwx------. 3 mysql mysql 78 7月 31 17:33 mysql
-rw-r--r--. 1 weixiangxiang root 0 8月 2 22:04 test001.log
drwx------. 17 weixiangxiang weixiangxiang 4096 8月 2 22:04 weixiangxiang
# 将该文件的属主权限修改为 weixiangxiang, 所属组也修改为 weixiangxiang
[root@localhost home]# chown weixiangxiang:weixiangxiang test001.log
总用量 2
drwx------. 3 mysql mysql 78 7月 31 17:33 mysql
-rw-r--r--. 1 weixiangxiang weixiangxiang 0 8月 2 22:04 test001.log
drwx------. 17 weixiangxiang weixiangxiang 4096 8月 2 22:04 weixiangxiang
注意:root用户拥有超级管理员的权限,可以修改任意文件的权限,但普通用户只能修改自己目录下的文件权限,否则报权限不足!!!
-
命令格式:chgrp [选项] 权限模式 文件名 -
含义:change group ownership -
路径:/bin/chgrp -
功能:修改文件和目录的所属组
举例:
接着<3>,修改所属组为mysql
# 将该文件的所属组修改为 mysql
[root@localhost home]# chown weixiangxiang:weixiangxiang test001.log
总用量 2
drwx------. 3 mysql mysql 78 7月 31 17:33 mysql
-rw-r--r--. 1 weixiangxiang mysql 0 8月 2 22:04 test001.log
drwx------. 17 weixiangxiang weixiangxiang 4096 8月 2 22:04 weixiangxiang
二、默认权限
Linux是一个比较安全的操作系统,而安全的基础就是权限,因此,在Linux中所有的文件和目录都要有基本的权限,新建的文件和目录当然也要有默认的权限。在Linux系统中,通过umask默认权限来给所有新建立的文件和目录赋予初始权限。
[root@localhost /]# umask
0022
# 八进制显示
[root@localhost /]# umask -S
u=rwx,g=rx,o=rx
- 文件的默认权限最大只能是666,换算成字母就是“-rw-rw-rw-”;而umask的值是022,也换算成字母就是“—–w–w-”。把两个字母权限相减,得到的就是新建文件的默认权限:(-rw-rw-rw-)-(—–w–w-)=(-rw-r–r–)。
- 目录的默认权限最大可以是777,换算成字母就是“drwxrwxrwx”;而umask的值是022,也换算成字母就是“d—-w–w-”。也把两个字母权限相减,得到的就是新建目录的默认权限:(drwxrwxrwx)-(d—-w–w-)=(drwx-r-xr-x)。
[root@localhost weixiangxiang]# su weixiangxiang
[weixiangxiang@localhost ~]$ umask
0002
[weixiangxiang@localhost ~]$ touch 1.log
[weixiangxiang@localhost ~]$ ll
-rw-rw-r--. 1 weixiangxiang weixiangxiang 0 8月 2 22:48 1.log
[weixiangxiang@localhost ~]$ mkdir ttt/
[weixiangxiang@localhost ~]$ ll
drwxrwxr-x. 2 weixiangxiang weixiangxiang 6 8月 2 22:51 ttt
[weixiangxiang@localhost ~]$ umask 0022
vi /etc/profile
转载请注明:XAMPP中文组官网 » Linux:目录和文件的权限管理一