![linux ext:从 noexec 分区执行?](https://linux22.com/image/1530767/linux%20ext%EF%BC%9A%E4%BB%8E%20noexec%20%E5%88%86%E5%8C%BA%E6%89%A7%E8%A1%8C%EF%BC%9F.png)
我有理由用它来挂载数据分区noexec
,nodev
我们假设这些理由是有效的:)
现在假设我想要一些目录来包含可执行文件。这可能吗?
我第一次尝试在没有此类执行限制的地方进行硬链接,但整个目录的硬链接是另一个问题。而且符号链接不起作用。我还能尝试其他什么来制造这种例外吗?
编辑 1:之后进行 strace sudo mount --bind /from_noexec/bin /with_exec/bin2 && /with_exec/bin2/script.sh
(权限为 0777)
$ strace /with_exec/bin2/script.sh
execve("/with_exec/bin2/script.sh", ["/with_exec/bin2/script.sh"], [/* 72 vars */]) = -1 EACCES (Permission denied)
fstat(2, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 2), ...}) = 0
write(2, "strace: exec: Permission denied\n", 32strace: exec: Permission denied
) = 32
getpid() = 2134
exit_group(1) = ?
+++ exited with 1 +++
有趣的是,尽管文件权限是 0777,但它却显示 0600(对于文件权限为 0750 的情况相同,但在 strace 上仍然显示 0600)。