最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux 系统目录权限加固:关闭敏感目录的执行权
时间:2026-07-13 08:43:02 编辑:袖梨 来源:一聚教程网
直接关闭敏感目录执行权的关键是清除文件自身x权限并启用noexec挂载选项:前者阻止./script.sh类直接调用,后者从内核层禁止该分区任何文件被execve()加载执行,无论权限如何;需配合umask或默认ACL确保新文件无x位。
直接关闭敏感目录的执行权,不能只靠 chmod 去掉目录本身的 x 权限——因为目录的执行权(即 x 位)实际控制的是“能否进入该目录或访问其子项”,而非运行脚本。真正阻止脚本执行,关键在文件自身的执行位和挂载层面的行为约束。
关键不是“关目录的执行权”,而是阻断脚本被执行的能力
- 目录权限中的
x决定能否cd进入、能否ls列出内容(配合r)、能否访问其下的文件 - 脚本能被运行,取决于文件本身是否有
x权限,以及所在文件系统是否允许执行
所以加固重点是两层:
-
清掉文件的执行位:防止
./script.sh类直接调用 -
启用
noexec挂载选项:从内核层禁止该分区上任何文件被当作程序加载执行,无论权限如何
对 /tmp、/var/www/uploads、/home 等目录,推荐组合操作
-
临时生效(测试用):
sudo mount -o remount,noexec,nosuid,nodev /tmpsudo mount -o remount,noexec,nosuid,nodev /var/www/uploads
-
永久生效(写入
/etc/fstab):
找到对应挂载行(如/tmp对应的 UUID 或设备),在options字段追加noexec,nosuid,nodev,例如:UUID=1234abcd /tmp ext4 defaults,noexec,nosuid,nodev 0 2
然后重挂载:
sudo mount -o remount /tmp -
同时清理已有脚本的执行位(防绕过):
find /tmp -type f ( -name "*.sh" -o -name "*.py" -o -name "*.pl" ) -exec chmod a-x {} ;
注意 noexec 的实际效果边界
- ✅ 阻止
./a.out、./deploy.sh、/tmp/malware直接执行 - ✅ 阻止 ELF 二进制、shell 脚本、Python 编译字节码(
.pyc)等被execve()加载 - ❌ 不影响
python3 /tmp/exploit.py—— 因为解释器是/usr/bin/python3(在其他挂载点,且有x),它读取并解释源码,不触发目标文件的exec行为 - ❌ 不影响
sh /tmp/script.sh—— 同理,sh是合法执行程序,它只是把目标当文本读取
所以 noexec 是基础防线,不是万能锁;若需拦截解释器调用,得结合 SELinux 策略、rbac 或容器隔离。
配套建议:让新文件默认无执行位
- 在应用用户环境(如
/etc/profile.d/secure.sh)中设:umask 027→ 新建普通文件默认640,目录默认750,无x给 group/other - 对上传目录设置默认 ACL:
setfacl -d -m u::rw-,g::r--,o::--- /var/www/uploads
不复杂但容易忽略。
相关文章
- 《骑马与砍杀:无双三国》下载教程-完整安装与配置指南 07-22
- 卡厄思梦境出击模式如何玩 07-22
- 《盟军敢死队:使命召唤》下载教程:高难潜行战术详解 07-22
- 勇往直前 盟军敢死队2高清重制版下载-完整安装与配置指南 07-22
- 《幻兽帕鲁》坐骑词条推荐-运动健将与永动机最实用 07-22
- 《骑马与砍杀:风云三国》下载指南-完整安装与配置教程 07-22