将 noexec/nosuid 安装中的某些二进制文件和脚本列入白名单?

将 noexec/nosuid 安装中的某些二进制文件和脚本列入白名单?

就像问题一样。是否可以将 noexec 安装的 FS 中的某些可执行文件列入白名单?

例如,我的看起来像这样:

/dev/vg/lv on /tmp type ext4 (rw,noexec,nosuid)

答案1

不。安装选项胜过一切。这就是它们的目的:确保没有任何东西直接从该文件系统执行。

为了对抗noexec,您可以通过调用其启动器来间接运行大多数程序:

  • 如果程序是一个脚本(以舍邦),调用解释器并将脚本作为其第一个参数传递给它。
  • 如果程序是动态链接的可执行文件,则调用动态加载程序(例如/lib/ld-linux.so.2/lib64/ld-linux-x86-64.so.2)并将二进制文件作为其第一个参数传递给它。

如果您安装了文件系统noexec,则可以使用以下命令查看所有文件都可执行的目录绑定文件系统。但是 Bindfs 不允许为每个文件设置权限。

当然,您可以在其他地方复制该文件并使该文件可执行。

如果文件系统已挂载nosuid,则无法使文件设置为 setuid。那会破坏安全。要创建 setuid 文件,您需要有权访问所属用户帐户。制作副本并制作 setuid,或者在没有nosuid选项的情况下重新安装,是唯一的解决方案。

相关内容