使用 noexec 和 nosuid 挂载 /tmp 会导致问题吗?

dwa*_*et9 4 lamp fstab mount tmp 14.04

我计划在/etc/fstab运行 LAMP 的 Ubuntu 14.04 服务器上使用这一行:

/run/shm/tmp  tmpfs   nosuid,nodev,noexec,size=8G   0  0
Run Code Online (Sandbox Code Playgroud)

我的问题是,没有人知道我是否会被安装造成问题/tmpnosuidnoexec


2015 年 1 月 31 日编辑:上面“在 fstab 中挂载 /tmp 的最佳方法? ”中提到的答案没有回答我的问题,即如果我使用 nosuid 和 noexec 挂载 /tmp 可能会出现什么问题。它只是提到没有必要这样做,如果我使用这些选项,某些东西“可能”会中断。

下面由 aFoP 和 muru 提供的答案通过列举会失败的内容以及如何解决问题来回答我的问题。

感谢 aFoP 和穆鲁!

小智 5

我使用tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0 fstab 中的条目 。

可能会出现两个问题:在 apt-get upgrade 期间无法安装更新。我通过创建一个/etc/apt/apt.conf包含以下几行的文件解决了这个问题:

DPkg::Pre-Invoke{"mount -o remount,exec /tmp";};
DPkg::Post-Invoke {"mount -o remount,defaults,noexec,nosuid /tmp";};
Run Code Online (Sandbox Code Playgroud)

这样 apt 将/tmp临时重新挂载exec,以便能够执行更新。

我意识到的另一个问题是,当我需要手动运行时update-initramfs -u,它直到我再次使用 exec 重新安装 /tmp 才运行:

mount -o remount,exec /tmp
Run Code Online (Sandbox Code Playgroud)

完成后,我再次重新安装了默认设置...

mount -o remount,defaults,noexec,nosuid /tmp
Run Code Online (Sandbox Code Playgroud)