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

掌握Linux用户系统权限(从零开始彻底搞懂文件与目录的访问控制)

在使用 Linux 系统时,你是否曾遇到过“Permission denied”(权限被拒绝)的错误?这通常是因为你对某个文件或目录没有足够的操作权限。别担心!本教程将带你从零开始,一步步理解 Linux 用户系统权限机制,即使是小白也能轻松上手。

什么是 Linux 用户权限?

Linux 是一个多用户操作系统,为了保护系统安全和用户数据,它为每个文件和目录设置了访问权限。这些权限决定了谁可以读取、写入或执行某个文件。

权限主要分为三类:

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

权限的三个角色

每个文件或目录的权限都针对三类用户设置:

  1. 所有者(User/Owner):创建该文件的用户。
  2. 所属组(Group):文件所属用户组的成员。
  3. 其他用户(Others):既不是所有者也不在所属组中的所有其他用户。
掌握Linux用户系统权限(从零开始彻底搞懂文件与目录的访问控制) Linux用户权限 文件权限chmod Linux权限管理 用户组权限 第1张

如何查看权限?

在终端中使用 ls -l 命令可以查看文件详细信息。例如:

-rw-r--r-- 1 alice developers 1024 Jun 10 10:00 report.txt

其中开头的 -rw-r--r-- 就是权限字符串:

  • 第1位:- 表示这是一个普通文件(d 表示目录)。
  • 第2-4位:rw- 表示所有者有读写权限,无执行权限。
  • 第5-7位:r-- 表示所属组只有读权限。
  • 第8-10位:r-- 表示其他用户也只有读权限。

如何修改权限?—— chmod 命令

使用 chmod 命令可以更改文件权限。有两种常用方式:

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

语法:chmod [who][operator][permission] 文件名

  • who:u(用户)、g(组)、o(其他)、a(全部)
  • operator:+(添加)、-(移除)、=(设定)
  • permission:r、w、x

示例:给所有者添加执行权限

chmod u+x script.sh

2. 数字模式(更高效)

每种权限对应一个数字:

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

将三类用户的权限数字相加,组成三位数。例如:

  • 755 = 所有者(4+2+1=7),组(4+1=5),其他(4+1=5)
  • 644 = 所有者(4+2=6),组和其他只有读(4)

命令示例:

chmod 755 myfile.txt

用户与用户组管理

除了文件权限,你还需要了解用户和用户组的基本操作:

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

常见问题与最佳实践

不要随意使用 chmod 777:这会让所有用户拥有完全控制权,存在严重安全隐患。

✅ 对脚本文件赋予执行权限即可,无需开放写权限。

✅ 敏感配置文件(如 /etc/passwd)应限制为仅所有者可读写。

总结

理解 Linux用户权限、掌握 文件权限chmod 命令、合理配置 用户组权限,是进行安全高效的 Linux权限管理 的基础。通过本教程,你现在应该能够看懂权限符号、修改权限,并避免常见的安全陷阱。

继续练习吧!尝试在自己的 Linux 系统中创建文件、修改权限、切换用户测试效果,实践是最好的老师。