我最近注册了 digitalocean,创建了一个用于浏览安全的 SSH 隧道服务器。但这只能保留日志,我想禁用所有日志。
我想知道如何禁用所有可能的日志。从我在网上读到的内容来看,我知道这不是一个好主意。如果以后出现问题,我只需创建一个新服务器...没什么大不了的。我在网上搜索了好几天,却发现很少。所以我崩溃了,决定在这里问。
我正在运行 Ubuntu 服务器 16.04。我已删除 /var/log 中的实际 .log 文件。它们似乎不会再回来了。
然而,当我查看 logrotate 时,它上面确实有当前日期。
我不确定需要运行什么命令来禁用安全/隐私服务器的所有日志记录。
如果您有任何需要,请告诉我,我会尽力。
再次感谢您所提供的帮助。
答案1
在较新版本的 ubuntu 中(至少从 14.04 开始 - 可能还有更早的版本),核心系统日志记录是通过rsyslog
守护进程进行管理的。例如,
- 核心
- iptables 防火墙(内核的一个组件)
- SSH
- 邮件
有关完整列表,请参阅/etc/rsyslog.d/50-default
或ls -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 作业每天运行一次,它会轮换(为每个服务创建一个新的基本日志文件,并增加现有日志文件的编号,这些日志文件的寿命太长或太大,并对日志文件执行压缩和删除,它实际上不是我要停止日志记录的地方。