Linux如何理解文件权限rwx含义

Linux如何理解文件权限rwx含义
最新回答
心头的小情儿

2021-07-11 15:23:23

Linux文件权限中的rwx分别代表读(Read)、写(Write)和执行(Execute)权限,是系统安全模型的核心,用于控制用户对文件或目录的访问操作。 以下从权限含义、用户分类、权限设置及安全影响四个方面展开说明:

1. rwx权限的具体含义
  • r(Read,读权限)

    文件:允许查看文件内容(如用cat、less读取),无读权限则无法获取文件信息。

    目录:允许列出目录中的文件和子目录(如用ls查看),但仅凭读权限无法进入目录或访问内部文件。

    类比:能看到门牌号,但门是锁着的。

  • w(Write,写权限)

    文件:允许修改、保存文件内容,甚至删除文件(需对目录有写权限)。

    目录:允许在目录中创建、删除或重命名文件和子目录。删除文件实际依赖对目录的写权限,而非文件本身。

    类比:拥有文件夹的写权限,即可增删改内部文件。

  • x(Execute,执行权限)

    文件:允许将文件作为程序或脚本运行(如执行.sh脚本或二进制程序)。无执行权限则无法运行,即使内容正确。

    目录:允许进入目录(如用cd切换)或访问内部文件(需同时对文件有权限)。无执行权限时,即使有读权限也无法cd进入或访问文件。

    类比:能看到房间门牌号(读权限),但无钥匙(执行权限)则无法进入。

2. 权限的用户分类

权限分别分配给三类用户群体:

  • User (u):文件或目录的所有者。
  • Group (g):文件或目录所属组的用户。
  • Others (o):系统上的其他用户。

在ls -l输出中,权限显示为类似-rwxr-xr--的字符串:

  • 第1位:文件类型(-为普通文件,d为目录)。
  • 第2-4位:所有者权限(如rwx)。
  • 第5-7位:所属组权限(如r-x)。
  • 第8-10位:其他用户权限(如r--)。
3. 权限设置方法:chmod数字模式

通过八进制数字快速设置权限,规则如下:

  • r = 4,w = 2,x = 1,无权限则为0。
  • 将所有者、组、其他用户的权限值相加,得到三位数(如755)。

常见示例

  • 755:所有者(7=rwx)有全部权限;组和其他用户(5=r-x)有读和执行权限。

    用途:可执行文件、脚本或目录的常见设置,允许所有者完全控制,其他用户读取和执行。

  • 644:所有者(6=rw-)有读写权限;组和其他用户(4=r--)仅有读权限。

    用途:普通数据文件(如配置文件、日志)的常见设置,所有者可编辑,其他用户仅查看。

  • 700:所有者(7=rwx)有全部权限;组和其他用户(0=---)无权限。

    用途:敏感文件或目录(如SSH私钥目录),仅允许所有者访问。

4. 权限不当的安全风险与常见问题
  • 安全隐患

    权限过于宽松(如777/666)

    数据泄露或篡改:敏感文件(如数据库配置)被任意用户读取或修改。

    代码注入或执行:Web上传目录设为777,攻击者可上传恶意脚本并执行。

    提权攻击:普通用户修改高权限配置文件,以更高权限执行命令。

    权限过于严格

    Permission denied错误:Web服务器无法读取文件(403错误)、脚本无法执行、用户无法进入目录。

    服务启动失败:服务因权限不足无法访问配置文件或日志目录。

  • 避免原则

    最小权限原则:仅赋予用户或进程完成任务所需的最低权限。

    默认设置建议

    文件:普通数据文件设为644,脚本或可执行程序设为755。

    目录:通常设为755;需写入的目录(如上传目录)可设为775或770,避免直接777。

    定期审查:检查第三方应用或服务创建的文件权限。

总结

理解rwx权限是掌握Linux系统安全的关键。通过合理分配读、写、执行权限,并遵循最小权限原则,可以确保系统资源既可用又安全。权限设置不当可能导致数据泄露、服务中断或安全漏洞,因此需谨慎配置并定期审查。