
我已經設定了 Ubuntu 14.04 伺服器(來自 Ubuntu 12.04 伺服器),但今天我想查看auth.log
但該檔案未使用。看來「syslog」已被刪除。
Ubuntu 14.04 如何記錄日誌?我需要這個作為伺服器。
謝謝。
答案1
14.04 使用rsyslog
.當我從 12.04 升級到 14.04 時,我必須將日誌檔案的所有者從/var/log
from更改root
為syslog
.
(在/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 並啟用fail2ban
ssh 登入時遇到了這個問題。
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