web-dev-qa-db-ja.com

Sambaで認証の試行をログに記録するにはどうすればよいですか?

Samba 3.5.4を使用してActive Directoryサーバーに対してSquid(NTLM)で認証しているユーザーがいます。ユーザーのログイン試行をログに記録したいと思います。

次のような行を表示したいのですが。
TIMESTAMP username@DOMAIN SUCCESS/FAILURE

7
Harley

log level/etc/samba/smb.conf行を変更して読み取る場合:

log level = 1 winbind:5

私が求めている情報(デフォルトでは/var/log/samba/log.DOMAINに記録されます)を取得しますが、非常にノイズが多く、ログメッセージが2行に分割されます。正確には私が探しているものではありませんが、それが必要な場合があります。

4
Harley

Sambaのログファイルでは、認証関連の情報にcheck_ntlm_passwordモジュールのタグが付けられています(使用している場合)。日付と時刻が必要な場合は、実際の情報を含む行の前の行をキャプチャする必要があります。

下記は用例です。ユーザーの名前は、すべての場合でxxx.yyyに置き換えられました。 authenticationの大文字と小文字の違いが成功と失敗のケースで異なることに注意してください。

[2011/11/08 10:22:40.604819,  2] auth/auth.c:304(check_ntlm_password)
  check_ntlm_password:  authentication for user [xxx.yyy] -> [xxx.yyy] -> [xxx.yyy] succeeded

[2012/01/11 09:09:00.430424,  2] auth/auth.c:314(check_ntlm_password)
  check_ntlm_password:  Authentication for user [xxx.yyy] -> [xxx.yyy] FAILED with error NT_STATUS_WRONG_PASSWORD

これらの2つを超える他のメッセージがあります。これらの行は、lennyのバックポートリポジトリからSambaによって作成されました。 Sambaのバージョンは3.5.6で、実際のパッケージのバージョンは2:3.5.6〜dfsg-3〜bpo50 + 1です。 smb.confにログオンするための正確な構成は次のとおりです。

syslog = 0
debug level = 2
log file = /var/log/samba/%m.log
max log size = 1024
panic action = /usr/share/samba/panic-action %d
0