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/logfrom更改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 安裝程式。

如果您不確切知道您正在使用什麼系統日誌守護程序,則很難判斷。

如果您使用 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 ]

那麼這就是罪魁禍首。發生這種情況是因為 Ubuntu 14.04.1 LTS 中的預設版本/etc/rsyslog.d/50-default.conf(或至少是早期版本並保留在升級中)希望您用於/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

相關內容