【Linux】Linux中 文件管理权限以及修改

【Linux】Linux中 文件管理权限以及修改

  在Linux下一切皆文件,那么文件的管理就非常的重要,文件管理的权限和修改又是如何进行呢?



一、文件访问者的分类

  • 文件所属者:u(user)
  • 文件所属用户组: g(group)
  • 其他用户: o(other)

image-20210324182148826


二、文件类型与访问权限

文件类型

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]

扫描二维码关注公众号,回复: 13110648 查看本文章

  读权限: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权限,则对应的用户无法进入到该文件夹下


猜你喜欢

转载自blog.csdn.net/Sunnyside_/article/details/115189947
今日推荐