【Linux】Linux中 文件管理权限以及修改
在Linux下一切皆文件,那么文件的管理就非常的重要,文件管理的权限和修改又是如何进行呢?
文章目录
一、文件访问者的分类
- 文件所属者:u(user)
- 文件所属用户组: g(group)
- 其他用户: o(other)
二、文件类型与访问权限
● 文件类型
d | 文件夹 | p | 管道文件 |
---|---|---|---|
- | 普通文件 | c | 字符设备文件 |
l | 软链接文件 | s | 套接字文件 |
b | 块设备文件 |
● 访问权限
- 读(r):Read对文件而言,具有读取文件内容的权限
- 写(w):Write对文件而言,具有修改文件内容的权限
- 执行(x):Execute对文件而言,具有执行文件的权限
- “—”表示不具有该项权限
● 文件权限的表示
(1) 字符表示法
Linux表示 | 说明 | Linux表示 | 说明 |
---|---|---|---|
r– | 可读 | r-x | 可读可执行 |
-w- | 可写 | -wx | 可写可执行 |
–x | 可执行 | rwx | 可读可写可执行 |
rw- | 可读可写 | — | 无权限 |
(2)八进制表示法
Linux表示 | 二进制 | 八进制 |
---|---|---|
r– | 100 | 4 |
-w- | 010 | 2 |
–x | 001 | 1 |
rw- | 110 | 6 |
r-x | 101 | 5 |
-wx | 011 | 3 |
rwx | 111 | 7 |
— | 000 | 0 |
三、文件权限的修改
3.1 chmod设置文件的访问权限
格式:chmod [参数] [权限] [filename]
数字的方式:chmod [数字] [filename]
读权限:chmod u ± \pm ± r / g ± \pm ± r / o ± \pm ± r [filename]
写权限:chmod u ± \pm ± w / g ± \pm ± w / o ± \pm ± w [filename]
可执行权限:chmod u ± \pm ± x / g ± \pm ± x / o ± \pm ± x [filename]
粘滞位:对于其他用户来说,在修饰了粘滞位的目录中可以创建文件,只能由超级管理员、该目录的所属者、改文件的所属者删除,不能删除他人的文件 chmod +t [filename]
3.2 umask 修改文件或目录的默认访问权限
查看umask值:umask
修改umask值:umask [权限值]
目录默认的权限=0777 文件默认的权限=0666
超级用户默认掩码值=0022 普通用户默认掩码值=0002
它们之间的关系:默认权限-掩码值=预设权限
3.3 实例
- 我们可以查看到普通用户的掩码值=0002
- 可以看到我们创建的 test.cpp 和目录 test 的权限分别为664和775。
-
根据它们之间的关系得以验证:
0777(rwx rwx rwx) - 775(rwx rwx r-x) = 002(— --- -w-)
0666(rw- rw- rw-) - 664(rw- rw- r–) = 002(— --- -w-) -
使用 chmod 修改文件和目录的权限
我们給文件 test.cpp 的文件所属者和所属组用户分别加上可执行权限,可以看到文件的权限由664变为774。
我们再将 test 目录的权限采用数字的方式修改为只读权限。
四、文件对文件操作的影响
4.1 rwx 权限对普通文件的影响
- 如果用户没有r权限,则无法查看文件内容
- 如果用户没有w权限,则无法向文件当中写内容
- 如果没有一个x权限,则一定无法执行;如果有x权限,则不一定执行成功,取决于文件内容(编译出来的C或者C++程序,要执行的时候,一定需要可执行权限)
4.2 rwx 权限对文件夹的影响
-
如果用户没有r权限,则无法查看文件夹下的内容
-
如果用户没有w权限,则无法在文件夹下创建新的文件
-
如果没有一个x权限,则对应的用户无法进入到该文件夹下