在 RHEL 上挂载目录时 NOEXEC 标志是什么意思?

在 RHEL 上挂载目录时 NOEXEC 标志是什么意思?

我试图了解安装时的 NOEXEC 标志。

我在别人的机器上遇到了 /tmp 目录的执行问题,我无法访问,因为 /tmp 目录安装在除“/”之外的其他驱动器上,并且存在 NOEXEC。我想尝试在我的计算机上重现这种情况,但我没有第二个硬盘驱动器。我尝试执行以下命令:

mount --bind /test1 /test2

然后我删除了该bind标志并将其添加NOEXEC到 /etc/fstab 中。然后,我在 /test2 中创建了一个名为 test.sh 的文件,它只显示“hello world”。我尝试运行它,它显示“权限被拒绝”。然后我运行chmod 777 test.sh并能够正常执行该文件。我认为 NOEXEC 标志不应该允许我执行任何操作?

mount --bind /test1 /test2这和从完全不同的物理驱动器安装不一样吗?就像 /test1 和 /test2 位于不同的驱动器上一样?

答案1

命令中的选项“NOEXEC”标志mount不允许在已安装的文件系统中执行可执行二进制文件1。但是,当将脚本(以 she-bang 行开头的文本文件;即以 开头的行#!)提供给某些 shell(bash)时,它将运行该行上命名的可执行文件(例如 )/usr/bin/perl并将 shell 脚本的路径作为第一个参数传递。实际解释器可能不在该安装点上。__________ 1该命令通常安装

mount文件系统. (可以说,环回或bind挂载可能被视为这一普遍性的例外。)在某些情况下(例如/tmp),该文件系统将只包含一个目录。

相关内容