Ubuntu 14.04 系统日志

Ubuntu 14.04 系统日志

我已经设置了 Ubuntu 14.04 服务器(来自 Ubuntu 12.04 服务器),但今天我想查看,auth.log但这个文件没有使用。似乎 ´syslog´ 已被删除。

Ubuntu 14.04 如何记录日志?我需要这个用于服务器。

谢谢。

答案1

14.04 使用rsyslog。当我从 12.04 升级到 14.04 时,我必须将日志文件的所有者从/var/log更改rootsyslog

(在/etc/rsyslog.conf所有者中定义为

$FileOwner syslog
$FileGroup adm

您还应该查看/etc/rsyslog.d/50-default.conf定义哪些事件记录到哪些文件的位置。还有一行/var/log/syslog。也许它被注释掉了。

答案2

我刚刚使用官方服务器媒体执行了 Ubuntu 14.04 的全新安装。

已安装 Rsyslog,并且auth.log具有默认配置的有效日志文件。它由文件配置/etc/rsyslog.d/50-default.conf

如果您没有 auth.log,那么我必须假设您执行了以下操作之一:

  • 更改了配置
  • 使用 rsyslog 以外的 syslog 守护进程
  • 使用设置了不同默认值的 Ubuntu 安装程序。

如果不知道您所使用的 syslog 守护进程到底是什么,就很难判断。

如果你正在使用 rsyslog,那么请查看你的/etc/rsyslog.conf和 中的任何文件/etc/rsyslog.d。查看 auth,authpriv.* 消息被记录到哪里。

答案3

如果您在中发现如下最终消息/var/log/syslog

Dec 29 19:27:32 host rsyslogd-2039: 
Could no open output pipe '/dev/xconsole': 
No such file or directory [try http://www.rsyslog.com/e/2039 ]

那么这就是罪魁祸首。发生这种情况的原因是/etc/rsyslog.d/50-default.confUbuntu 14.04.1 LTS 中的默认版本(或至少是早期版本并保留在升级中)希望您使用/dev/xconsole错误监控,但这在无头服务器环境中不可用。

为了修复这个问题,请禁用中的相应部分/etc/rsyslog.d/50-default.conf,使其看起来像这样:

# daemon.*;mail.*;\
#        news.err;\
#        *.=debug;*.=info;\
#        *.=notice;*.=warn       |/dev/xconsole

然后重新启动 rsyslog ( sudo service rsyslog restart),日志文件现在就可以工作了。

来源:这个答案询问Ubuntu SE问题“缺少 /dev/xconsole 会导致 rsyslog 以及所有其他服务停止“。

答案4

我在安装全新的 Ubuntu 14.04 并启用fail2banssh 登录时遇到了这个问题。

Ubuntu 14.04 使用rsyslog默认用户syslog和组adm。但是,/var/log目录具有权限root:root 0755,这意味着 rsyslog 无法在目录中创建新的日志文件,例如文件/var/log/auth.log

有多种方法可以解决这个问题。

使/var/log/所有用户都可写

sudo chmod 0777 /var/log

更改所有者/组/var/log

sudo chown syslog:adm /var/log
sudo chmod 0775 /var/log

触摸/var/log/auth.log并将其所有者/组更改为syslog:adm

sudo touch /var/log/auth.log
sudo chown syslog:syslog /var/log/auth.log

更改用户/组rsyslog运行方式(不建议)

editor /etc/rsyslog.conf
$FileOwner root
$FileGroup root

相关内容