我有一个服务守护进程创build了很多临时文件。 最近我的服务器死了,因为恶意用户pipe理洪泛/ tmp并填满了磁盘。 我采取了一些措施积极清理临时目录,另外我想限制这个应用程序临时目录的最大大小。
有没有什么办法可以创build目录,比如说/apptmp永远不会比10G更大? 我知道我可以设置磁盘限制的用户,但我只是想限制这个tmpdir; 应用程序应该始终能够在其他地方写入。
我正在运行Ubuntu Linux 12.04。
编辑:所有这些应该最终被包装在一个可安装的Ubuntu包,但是。 所以我不认为我想依靠修改分区,除非我能以某种方式模拟它。
你可以给/tmp它自己的分区。 那么你会确定它永远不会超过这个数量。 我build议使用LVM,以便您可以增加和减less分区大小,如果您觉得需要这样做。
卢卡斯的答案是最好的。
如果您已经设法安排磁盘,以至于无法轻松地重新分区驱动器,则还可以在常规磁盘文件中使用文件系统的循环挂载。 就像是:
$ dd if=/dev/zero of=/tmp/tmpdisk bs=1073741824 count=10 $ mke2fs /tmp/tmpdisk $ sudo mount -o loop /tmp/tmpdisk /apptmp
这将在/ tmp中创build一个10GB文件,在该文件内创build一个文件系统,然后将其挂载为/ apptmp。
但是,正如所指出的那样,只有在您使用磁盘分区scheme将自己置于angular落时,才应该这样做。