作者:萧勇志762852 | 来源:互联网 | 2023-05-28 13:38
情况是这个应用程序需要更多的空间/tmp
.目前我的tmp
文件夹位于root的分区中.tmp
为了利用更大的空间,临时创建一个符号链接到另一个分区是否安全?
1> Innocent Bys..:
您可以:而不是重命名和/或符号链接:
mount --bind /path/to/dir/with/plenty/of/space /tmp
而umount /tmp
当你完成.
如果您在关键任务服务器上,则可以lsof /tmp
在执行上述操作之前检查是否有任何程序正在使用/ tmp .
注意:以root身份运行所有命令.
2> kestasx..:
这取决于...
您最好的选择是TMPDIR
在启动应用程序之前将环境变量设置为指向此位置。您的应用程序可能会考虑此变量(但您需要进行测试)。此外,应用程序本身可能具有一些设置或某些其他变量来设置临时位置(请参阅手册)。
至于进行符号链接,正在运行的具有打开文件的应用程序/tmp
应该不会感觉到此更改(i节点号不会更改;即使删除/tmp
,打开的文件也会在当前打开它们的所有进程关闭后被释放。)
如果另一个应用程序希望在其中找到某些内容/tmp
(/tmp/.X11-unix
例如将尝试打开),则可能会出现问题。这样的应用程序会出错。您可以尝试通过在创建符号链接之前进行从新tmp到原始tmp中文件的符号链接(重命名后 符号链接必须正确/tmp
)来克服此问题。它可能不适用于对安全性要求较高或存在漏洞的应用程序。
仍然有一些机会可以解决(重命名和符号链接不是原子操作,因此某些应用程序/tmp
在删除后仍然可以访问,但是符号链接尚未创建)。
因此,这取决于您在此计算机上运行的内容。
如果您可以重新引导计算机并可以访问其控制台(物理访问,LOM,虚拟机转换或类似操作),则可以使操作系统进入“单用户”模式(telinit 1
),进行符号链接并重新引导。或者,您可以编辑/etc/fstab
做mount --bind
。
如果您具有Redhat / CentOS或派生发行版,则启用SElinux可能会出现问题。