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进入或访问文件。
类比:能看到房间门牌号(读权限),但无钥匙(执行权限)则无法进入。
权限分别分配给三类用户群体:
在ls -l输出中,权限显示为类似-rwxr-xr--的字符串:
通过八进制数字快速设置权限,规则如下:
常见示例:
用途:可执行文件、脚本或目录的常见设置,允许所有者完全控制,其他用户读取和执行。
用途:普通数据文件(如配置文件、日志)的常见设置,所有者可编辑,其他用户仅查看。
用途:敏感文件或目录(如SSH私钥目录),仅允许所有者访问。
安全隐患:
权限过于宽松(如777/666):
数据泄露或篡改:敏感文件(如数据库配置)被任意用户读取或修改。
代码注入或执行:Web上传目录设为777,攻击者可上传恶意脚本并执行。
提权攻击:普通用户修改高权限配置文件,以更高权限执行命令。
权限过于严格:
Permission denied错误:Web服务器无法读取文件(403错误)、脚本无法执行、用户无法进入目录。
服务启动失败:服务因权限不足无法访问配置文件或日志目录。
避免原则:
最小权限原则:仅赋予用户或进程完成任务所需的最低权限。
默认设置建议:
文件:普通数据文件设为644,脚本或可执行程序设为755。
目录:通常设为755;需写入的目录(如上传目录)可设为775或770,避免直接777。
定期审查:检查第三方应用或服务创建的文件权限。
理解rwx权限是掌握Linux系统安全的关键。通过合理分配读、写、执行权限,并遵循最小权限原则,可以确保系统资源既可用又安全。权限设置不当可能导致数据泄露、服务中断或安全漏洞,因此需谨慎配置并定期审查。