当前位置:首页 > 服务器技术 > 正文

掌握Linux权限管理(从零开始学会用户与文件权限分配)

在使用 Linux 系统时,你可能会遇到“Permission denied”(权限被拒绝)的错误。这通常是因为当前用户没有对某个文件或目录的操作权限。为了让你更安全、高效地使用 Linux,理解并掌握Linux用户权限是必不可少的基础技能。

掌握Linux权限管理(从零开始学会用户与文件权限分配) Linux用户权限  chmod命令 用户组管理 文件权限设置 第1张

一、Linux权限的基本组成

Linux 中每个文件和目录都有三类用户对其拥有不同的权限:

  • 所有者(Owner):创建该文件的用户。
  • 所属组(Group):该文件所属的用户组成员。
  • 其他用户(Others):既不是所有者,也不在所属组中的用户。

每类用户又拥有三种基本权限:

  • r(读):可以查看文件内容或列出目录内容。
  • w(写):可以修改文件内容或在目录中创建/删除文件。
  • x(执行):可以运行文件(如脚本)或进入目录。

二、查看文件权限

使用 ls -l 命令可以查看文件的详细权限信息:

-rwxr-xr-- 1 alice developers  4096 Apr 10 10:00 script.sh  

解释:

  • 第一个字符 - 表示这是一个普通文件(d 表示目录)。
  • 接下来的9个字符分为三组:rwx(所有者)、r-x(所属组)、r--(其他用户)。
  • 这意味着:
    • 所有者 alice 可读、可写、可执行;
    • developers 成员可读、可执行,但不能写;
    • 其他用户只能读。

三、修改权限:chmod 命令

要更改文件权限,使用 chmod 命令。它有两种常用方式:

1. 符号模式(推荐初学者使用)

# 给所有者添加执行权限chmod u+x script.sh# 移除所属组的写权限chmod g-w data.txt# 给其他用户赋予读和执行权限chmod o+rx app  

其中:

  • u = user(所有者)
  • g = group(所属组)
  • o = others(其他用户)
  • a = all(全部)

2. 数字模式(八进制表示法)

每种权限对应一个数字:

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

将三类用户的权限相加,例如 755 表示:

  • 所有者:4+2+1 = 7 → rwx
  • 所属组:4+0+1 = 5 → r-x
  • 其他用户:4+0+1 = 5 → r-x
chmod 755 script.shchmod 644 config.txt  

四、用户与用户组管理

除了文件权限,合理管理用户组管理也是关键。常用命令包括:

# 创建新用户sudo adduser newuser# 创建新用户组sudo groupadd developers# 将用户加入组sudo usermod -aG developers alice# 查看当前用户所属组groups  

通过将多个用户加入同一个组,并设置文件所属组为该组,可以实现团队协作下的文件权限设置

五、最佳实践建议

  • 不要随意给文件设置 777 权限(即所有人可读写执行),这会带来严重安全风险。
  • Web 服务器目录通常设为 755(目录)和 644(文件)。
  • 脚本文件需要 x 权限才能执行。
  • 定期检查敏感文件(如配置文件、密钥)的权限是否过于开放。

结语

掌握 Linux用户权限、熟练使用 chmod 命令、合理进行 用户组管理,不仅能避免常见错误,还能提升系统安全性。无论你是开发者、运维人员还是普通用户,这些知识都是你高效使用 Linux 的基石。现在就打开终端,尝试修改一个文件的权限吧!