释放已删除但打开的日志文件

Enc*_*ium 1 debian postgresql

由于 postgresql 日志文件很大,我的 Debian 服务器磁盘已用完,虽然我已将其删除,但它仍由 postgresql 保留。当我重新启动 postgresql 时出现错误,因为磁盘已满且软件无法启动。这是使用 lsof +L1 列出的文件:

COMMAND     PID     USER   FD   TYPE DEVICE    SIZE/OFF NLINK    NODE NAME
testproxy 22712 postgres    2w   REG    8,1 15309393920     0 1184540 /tmp/postgresql-9.4-main.log (deleted)
Run Code Online (Sandbox Code Playgroud)

我已经尝试了其他线程中建议的一些命令,但它不起作用。任何人都可以建议如何删除此文件,记住重新启动 postgresql 不起作用?

谢谢!

小智 6

你的问题比磁盘不足我的朋友更大!

这是一个利用 PostgreSQL 大对象的用户定义函数漏洞。(lo_) 函数。

在我的服务器上,它是一个木马程序,它通过端口 80 创建到 baby0119.com 的代理。它是作为您的 postgres 用户通过您的 postgres 端口 5432 安装的。

检查您的“postgres”数据库中是否有名为“exec111”的函数。\df+ exec111。

删除该功能,收紧 pg_hba.conf、防火墙等。

另外,请检查您的 postgresql 日志中是否有发出的命令或错误。

我在 /tmp 的盒子上找到的文件是:

  • 12 月 7 日 11:37 sjkpppp
  • 961472 12 月 7 日 16:36 testproxy6
  • 8088 12 月 7 日 16:36 testproxy.so

如果您在 postgres 服务器上运行 Web 服务器,请检查您的 Web 访问日志、grep 的“proxytest”或代理等。