“私人 /tmp 就像一个好主意......它对我有用,它更安全,所以让我们重新分配给世界上每个期望 /tmp 是 /tmp 自 1970 年以来的 unix 人......”你怎么办得到?爆炸,破坏和你的身体着火。
我正在尝试在 Debian 9 上禁用私有 /tmp,所以我按照该站点的说明进行操作:
https://www.maxoberberger.net/blog/2017/10/debian-9-private-tmp.html
这看起来很不错,但事实并非如此,它引起了一些心痛。
当我试图通过在 上创建覆盖文件来禁用时/etc/systemd/system/apache2.service
,systemd 似乎完全忽略了我。
我需要直接编辑文件:
/lib/systemd/system/apache2.service
这行得通,但是如果您升级系统,这并不是一个好主意!今天,unattended-upgrade
跑了,一切都坏了,因为私有的tmp;然后我需要再次重新禁用它。我们使用一个 Web 系统与另一个在控制台上运行的旧系统进行通信……它通过 tmp 进行通信。
我做错了什么?我应该重新启动服务器吗?
缺少
systemctl daemon-reload
重新加载 systemd 单元文件的步骤。首先执行此操作,然后重新启动服务重新启动整个服务器也可以,但这不是必需的。
PS如果您遇到与链接文章相同的问题,并且apache想要读取由cronjob编写的一些文件,您可以通过...不使用/tmp来以更细粒度的方式解决这些文件。您可能能够配置一个可由 cronjob 写入的目录,而不必担心使用 /tmp 带来的安全问题。即,在您想要的进程可以保留它之前,另一个 UID 可能会在 /tmp 中窃取您硬编码的套接字名称/子目录。