在 22.04 及更高版本中使用 noexec 挂载 /tmp 的当前方法

在 22.04 及更高版本中使用 noexec 挂载 /tmp 的当前方法

/tmp我读过各种其他问题和答案,以及有关安装或更改涉及/etc/fstab或的安装选项的所有指南/etc/systemd/system/local-fs.target.wants/tmp.mount。但是,我在 Ubuntu 22.04 上查看过,fstab没有条目/tmp,并且其他文件不存在。我查找了/etc/systemd/system任何看起来相似的文件,但无济于事。

22.04 上的哪个配置控制安装/tmp以及我该如何添加noexec选项?

答案1

创建 systemd 挂载文件。

cat <<EOF > /etc/systemd/system/tmp.mount
[Unit]
Description=Temporary Directory /tmp
Documentation=https://systemd.io/TEMPORARY_DIRECTORIES
Documentation=man:file-hierarchy(7)
Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
ConditionPathIsSymbolicLink=!/tmp
DefaultDependencies=no
Conflicts=umount.target
Before=local-fs.target umount.target
After=swap.target

[Mount]
What=tmpfs
Where=/tmp
Type=tmpfs
Options=mode=1777,strictatime,nosuid,nodev,size=50%%,nr_inodes=1m,noexec

[Install]
WantedBy=local-fs.target
EOF

启用挂载

systemctl enable tmp.mount

有一个示例挂载文件位于/usr/share/systemd/tmp.mount。我只是复制它并添加noexec到挂载选项中。

相关内容