Linux权限设置例外:如何限制html文件夹内index.html的写入权限?
问题分析与解决方案
异常原因
你遇到的问题核心在于目录权限的优先级高于文件权限:
- 你给
html文件夹设置了775权限,users组拥有写权限(w),这意味着组内用户可以修改目录内容——包括删除、替换目录下的任何文件,完全不受文件自身权限的限制。 - 之前的
chmod -R 775让index.html的权限为rwxrwxr-x,即便后来把文件组改为root,users组用户仍可通过文件夹的写权限删除原文件,再新建同名文件实现“修改”效果。
可行的解决步骤
要实现你的需求(users组完全控制文件夹,但仅root能写index.html),需要同时限制文件权限和目录的删除行为:
修正
index.html的权限与归属
确保只有root拥有写入权限,其他用户仅能读和执行:chown root:root html/index.html chmod 755 html/index.html执行后文件权限会变为
-rwxr-xr-x,满足root可写、其他用户只读执行的要求。给
html文件夹添加粘滞位
粘滞位(t)的作用是:仅文件所有者、目录所有者或root能删除目录内的文件。这样既保留users组对文件夹的完全控制权限(新建、修改自己的文件),又阻止他们删除root所有的index.html:chmod +t html/执行后文件夹权限会变为
drwxrwxr-t,末尾的t就是粘滞位标记。验证配置
执行以下命令确认权限设置生效:ls -ld html/ ls -l html/index.html
内容的提问来源于stack exchange,提问作者polandonion
相关产品推荐
相关产品推荐

