Linux 权限看不懂?一文讲透 rwx 和 chmod 的真实用途

1次阅读

linux权限核心是“谁、能干什么、对什么”,rwx对文件和目录作用不同:文件上r读、w写、x执行;目录上r列内容、w增删改、x进入;chmod用符号法或数字法修改权限。

Linux 权限看不懂?一文讲透 rwx 和 chmod 的真实用途

Linux 权限看起来一 rwx 字母,其实核心就三点:谁、能干什么、对什么。搞懂这个,权限管理就没那么神秘了。

rwx 到底代表什么?

rwx 是三种操作权限的缩写,但它们对文件和目录的作用完全不同,这是最容易混淆的地方。

对于一个普通文件:

  • r (read): 能打开并查看文件里的内容。没有 r 权限,连 cat、more 这些命令都用不了。
  • w (write): 能修改文件里的内容,比如用 vim 编辑后保存。注意,这不等于能删除文件!删文件是另一个概念。
  • x (execute): 能把这个文件当作程序来运行。比如一个 shell 脚本,必须有 x 权限才能 ./script.sh 执行它。

对于一个目录(文件夹):

  • r (read): 能列出这个目录里包含哪些文件和子目录,也就是能用 ls 命令看里面有什么。
  • w (write): 能在这个目录里创建、删除或重命名文件。这个权限很关键,拥有 w 权限就能删掉里面的文件,哪怕你对那个文件本身没有任何权限。
  • x (execute): 能进入这个目录,也就是能用 cd 命令切换到它里面。没有 x 权限,即使你知道路径也进不去。

chmod:如何修改这些权限?

chmod 命令就是用来改变文件或目录权限的工具,主要有两种方式:符号法和数字法。

1. 符号法(更直观)

这种方法直接用字母表示要修改的对象和权限。基本格式是:chmod [谁][怎么改][改什么权限] 文件名

Linux 权限看不懂?一文讲透 rwx 和 chmod 的真实用途

讯飞智文

一键生成PPT和Word,让学习生活更轻松。

Linux 权限看不懂?一文讲透 rwx 和 chmod 的真实用途 61

查看详情 Linux 权限看不懂?一文讲透 rwx 和 chmod 的真实用途

  • 谁 (Who): u 代表所有者 (user),g 代表所属组 (group),o 代表其他人 (others),a 代表所有人 (all)。
  • 怎么改 (operator): + 表示增加权限,- 表示去掉权限,= 表示精确设置为某个权限。
  • 例子:
    • chmod u+x script.sh: 给文件所有者加上执行 (x) 权限。
    • chmod g-w,o-rwx config.txt: 去掉所属组的写 (w) 权限,并去掉其他人的所有 (rwx) 权限。
    • chmod a=r file.txt: 让所有人(所有者、组、其他人)的权限都精确等于只读 (r)。

2. 数字法(更高效)

这种方法用一个三位数来代表全部权限,每个数字是 r、w、x 对应数值的总和(r=4, w=2, x=1)。

  • 第一位数字:代表所有者的权限 (u)。
  • 第二位数字:代表所属组的权限 (g)。
  • 第三位数字:代表其他人的权限 (o)。
  • 计算方法: 把需要的权限数值加起来。比如,想要 rwx 就是 4+2+1=7;想要 rw- 就是 4+2+0=6;想要 r-x 就是 4+0+1=5。
  • 常见组合:
    • chmod 755 dir/: 所有者有 rwx (7),组有 r-x (5),其他人有 r-x (5)。这是目录的常用权限。
    • chmod 644 file.txt: 所有者有 rw- (6),组有 r– (4),其他人有 r– (4)。这是文件的常用权限。

权限字符串第一段的完整解读

当你用 ls -l 查看时,会看到类似 -rw-r--r--drwxr-xr-x 的字符串。这一串字符可以分成四部分来看:

  • 第一个字符: 表示文件类型。- 代表普通文件,d 代表目录,l 代表链接等。
  • 第2-4个字符: 代表所有者的权限。比如 rw- 表示有读、写,无执行。
  • 第5-7个字符: 代表所属组的权限。比如 r-x 表示有读、执行,无写。
  • 第8-10个字符: 代表其他人的权限。比如 r-- 表示只有读权限。

所以,-rw-r--r-- 拆开就是:普通文件,所有者可读可写,所属组可读,其他人可读。

基本上就这些。

text=ZqhQzanResources