Ubuntu 14.04サーバーを(Ubuntu 12.04サーバーから)セットアップしましたが、今日はauth.log
ですが、このファイルは使用されていません。 「syslog」が削除されたようです。
Ubuntu 14.04はどのようにログに記録しますか?サーバーに必要です。
ありがとうございました。
14.04はrsyslog
を使用します。 12.04から14.04にアップグレードしたとき、/var/log
のログファイルの所有者をroot
からsyslog
に変更する必要がありました。
(/etc/rsyslog.conf
では、所有者は次のように定義されています
$FileOwner syslog
$FileGroup adm
)
また、どのイベントがどのファイルに記録されるかが定義されている/etc/rsyslog.d/50-default.conf
も確認する必要があります。 /var/log/syslog
の行もあります。おそらくそれはコメントアウトされています。
公式のサーバーメディアを使用してUbuntu 14.04の新しいインストールを実行しました。
Rsyslogがインストールされ、auth.log
はデフォルト構成の有効なログファイルです。ファイル/etc/rsyslog.d/50-default.conf
で構成されています
Auth.logがない場合は、次のいずれかを行ったと思います。
使用しているsyslogデーモンを正確に把握していないと、判別するのが困難です。
Rsyslogを使用している場合は、/etc/rsyslog.conf
と/etc/rsyslog.d
内のファイルを確認してください。 auth、authpriv。*メッセージが記録されている場所を確認します。
新しいUbuntu 14.04をインストールしてsshログインでfail2ban
を有効にすると、この問題が発生しました。
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
このような最終的なメッセージが/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
)を再起動すると、ログファイルが機能するようになります。
ソース: この回答 からAskUbuntu SEへの質問 " / dev/xconsoleがないと、rsyslogが停止し、他のすべてのサービスも停止します "。