Linux 下的文件权限 | 青训营笔记

51 阅读1分钟

前端训练营 Day 13

  事情的起因是一道题:“Linux 三种权限中只允许进入目录的权限是什么”。

  为了严谨,特别声明一下本文中讨论的是 GNU/Linux 发行版(如 Arch Linux)下在实现 VFS 的文件系统(如 ext4 )下的操作。

  使用ls -l命令可查看一个文件夹下文件和文件夹的信息:

ls 命令用于列出文件夹的内容,常用参数有-a--all,显示隐蔽的文件和文件夹)和-l(显示较详细的信息)

$ ls -al
drwxr-xr-x doudi doudi  80 B Mon May 15 11:03:03 2023  .
drwxrwxrwt root  root  220 B Mon May 15 11:02:58 2023  ..
.rw-r--r-- doudi doudi   0 B Mon May 15 11:03:03 2023  bar
drwxr-xr-x doudi doudi  40 B Mon May 15 11:03:01 2023  foo

  每一行的前十个字符表示该文件的类型与权限:d表示这是个目录(文件夹),-表示普通文件。后面的九位分三组,分别表示文件所有者、文件所在组和其他用户的权限,r表示可读,w表示可写,x表示可执行。

  对于普通文件,“读”和比较容易理解,“可执行”表示能不能用给出路径的形式运行一个ELF文件或脚本。对于目录而言,“可读”指能否查看该目录的内容,“可写”指能否对该目录的内容进行增删改(新建文件、删除文件、重命名文件、修改文件信息等),"可执行"表示能将工作目录切换到该目录。

  我们使用以下环境进行一些测试:

$ ls -l
dr--r--r-- doudi doudi 40 B Mon May 15 11:19:59 2023  r
drw-rw-rw- doudi doudi 40 B Mon May 15 11:19:59 2023  rw
drwxrwxrwx doudi doudi 40 B Mon May 15 11:19:59 2023  rwx
dr--r--r-- doudi doudi 40 B Mon May 15 11:19:59 2023  rx
d-w--w--w- doudi doudi 40 B Mon May 15 11:19:59 2023  w
d-wx-wx-wx doudi doudi 40 B Mon May 15 11:19:59 2023  wx
d--x--x--x doudi doudi 40 B Mon May 15 11:19:59 2023  x

  当我们尝试进入(cd)这些文件夹时,发现我们只能进入有x权限的文件夹;尝试查看(ls)文件夹内容时,发现只能查看有r权限的文件夹;尝试创建文件(touch)时,发现需要有wx权限才能创建。

本若有不足之处,欢迎纠正(≧^.^≦)喵~ 我的其他笔记,可在掘金或 Github( github.com/DoudiNCer/I… )阅读