Ubuntu 22.04及更高版本中控制/tmp挂载的配置及添加noexec选项的方法
Ubuntu 22.04及更高版本中控制/tmp挂载的配置及添加noexec选项的方法
兄弟,我太懂你找半天配置文件却一无所获的困惑了!Ubuntu 22.04默认的/tmp挂载机制和旧版本不太一样——它用的是systemd内置的tmp.mount单元,但这个单元文件默认存放在/usr/lib/systemd/system/目录下,不是你之前找的/etc路径,这就是为啥你没找到的原因。
要给/tmp加上noexec权限,咱们按下面的步骤来就行:
第一步:先把系统默认的tmp.mount文件复制到/etc目录下,这样咱们的修改不会被系统更新覆盖,毕竟systemd会优先读取/etc下的配置文件。执行这条命令:
sudo cp /usr/lib/systemd/system/tmp.mount /etc/systemd/system/第二步:编辑复制后的配置文件,用nano编辑器就行,简单直观:
sudo nano /etc/systemd/system/tmp.mount找到文件里的
[Mount]段落,找到Options=那一行,默认可能是Options=mode=1777,strictatime,咱们把noexec加进去,改成:Options=mode=1777,strictatime,noexec改完之后按
Ctrl+O保存,回车确认,再按Ctrl+X退出编辑器。第三步:让systemd重新加载配置文件,这样它才能识别咱们的修改:
sudo systemctl daemon-reload第四步:启用并立即重启tmp.mount单元,让修改生效:
sudo systemctl enable --now tmp.mount
最后咱们验证一下是否成功,执行这条命令看输出:
mount | grep /tmp
如果输出里包含noexec字样,比如类似tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noexec,relatime,...),那就说明配置生效啦!
备注:内容来源于stack exchange,提问作者Utkonos
相关产品推荐
相关产品推荐

