禁用 Ubuntu 服务器中的所有日志

禁用 Ubuntu 服务器中的所有日志

我最近注册了 digitalocean,创建了一个用于浏览安全的 SSH 隧道服务器。但这只能保留日志,我想禁用所有日志。

我想知道如何禁用所有可能的日志。从我在网上读到的内容来看,我知道这不是一个好主意。如果以后出现问题,我只需创建一个新服务器...没什么大不了的。我在网上搜索了好几天,却发现很少。所以我崩溃了,决定在这里问。

我正在运行 Ubuntu 服务器 16.04。我已删除 /var/log 中的实际 .log 文件。它们似乎不会再回来了。

然而,当我查看 logrotate 时,它​​上面确实有当前日期。

我不确定需要运行什么命令来禁用安全/隐私服务器的所有日志记录。

如果您有任何需要,请告诉我,我会尽力。

再次感谢您所提供的帮助。

答案1

在较新版本的 ubuntu 中(至少从 14.04 开始 - 可能还有更早的版本),核心系统日志记录是通过rsyslog守护进程进行管理的。例如,

  • 核心
  • iptables 防火墙(内核的一个组件)
  • SSH
  • 邮件

有关完整列表,请参阅/etc/rsyslog.d/50-defaultls -al文件/var/log夹,所拥有的日志文件syslog是通过 管理日志记录的服务rsyslog
因此,对于这些核心系统,您可以通过以下方式阻止日志记录

停止 rsyslog 守护进程

适用于 15.10 之前的版本

sudo service rsyslog stop

对于 15.10 及更高版本,上述操作可能仍然有效,但你也可以这样做

sudo systemctl stop rsyslog.service

这只会停止当前会话的 rsyslog,为确保 rsyslog 不会在重启时启动,请使用:

sudo systemctl disable rsyslog.service

或者你可以...

通过 rsyslog 的配置关闭日志记录

即注释掉这一行

$IncludeConfig /etc/rsyslog.d/*.conf

/etc/rsyslog.conf

更多信息请参见man 5 rsyslog.conf

所有其他日志通常由各种程序直接生成,您可能需要逐个重新配置每个守护进程以停止其日志记录。

日志旋转

logrotate 是一个实用程序,我相信它通过 cron 作业每天运行一次,它会轮换(为每个服务创建一个新的基本日志文件,并增加现有日志文件的编号,这些日志文件的寿命太长或太大,并对日志文件执行压缩和删除,它实际上不是我要停止日志记录的地方。

相关内容