入门:理解 Linux 文件权限

1. 为什么需要文件权限?

在 Linux 这个多用户操作系统中,文件权限是保护系统安全和用户数据的基石。它决定了可以对一个文件或目录进行何种操作。

2. 如何查看权限?

使用 ls -l 命令,你会看到类似这样的输出:

-rwxr-xr-- 1 user group 4096 Jan 1 12:00 myfile.txt

开头的 -rwxr-xr-- 就是权限描述,我们来拆解它:

  • 第1位: 文件类型 (- 代表普通文件, d 代表目录)
  • 第2-4位: 所有者 (Owner) 的权限 (user)
  • 第5-7位: 所属组 (Group) 的权限 (group)
  • 第8-10位: 其他人 (Others) 的权限

3. 权限的含义

每一组权限都由三个字符组成:r, w, x

  • r (Read): 权限。
    • 对文件:可以查看文件内容。
    • 对目录:可以列出目录下的文件列表 (ls)。
  • w (Write): 权限。
    • 对文件:可以修改文件内容。
    • 对目录:可以在目录中创建、删除、重命名文件。
  • x (Execute): 执行权限。
    • 对文件:可以作为程序来运行。
    • 对目录:可以进入该目录 (cd)。

4. 如何修改权限:chmod

chmod (change mode) 是修改权限的命令。最常用的方式是使用数字。

  • r = 4
  • w = 2
  • x = 1

将你想要的权限数字相加,就可以得到一个权限组合。例如,rwx 就是 4+2+1=7。

示例:

# 给 myfile.sh 设置权限:
# 所有者:读、写、执行 (rwx = 7)
# 所属组:读、执行 (r-x = 5)
# 其他人:只读 (r-- = 4)
chmod 754 myfile.sh

5. 如何修改所有者:chown

chown (change owner) 用于修改文件或目录的所有者和所属组。

# 将 myfile.txt 的所有者改为 new_user
chown new_user myfile.txt

# 同时修改所有者和所属组
chown new_user:new_group myfile.txt

理解并正确使用文件权限,是掌握 Linux 的关键一步!