ルートログイン用のログファイルを無効にする方法は? [閉鎖]

ルートログイン用のログファイルを無効にする方法は? [閉鎖]

私はDebianのすべてのログを無効にしたくなく、ルートログイン時間とログイン期間を記録するログだけを無効にしたいと思います。

端末でコマンドを実行すると、last私のIPアドレスなどが表示され、これを無効にしたいと思います。

私が行くとき/var/logBTMP認識できない文字など、一部の正方形記号のみを持つファイルが空です。ウォーターアンプそれは同じです。内容を削除しましたauth.log

このタイプのロギングを無効にするにはどうすればよいですか?

答え1

ログフィルタリング

使用できると思いますrsyslog。特にフィルタを追加する必要があります/etc/rsyslog.d/

次のメッセージの場合/var/log/secure(例:Fedora 19):

Jun 28 13:28:18 greeneggs login: pam_unix(login:session): session opened for user saml by LOGIN(uid=0)
Jun 28 13:28:19 greeneggs login: LOGIN ON tty2 BY saml

次のフィルタを使用して無視できます。

$syslogfacility-text == 'local0' で $msg が 'login' で始まり ($msg に 'root' が含まれている場合) /dev/null

メモ:上記はテストされていませんが、この問題を大まかに解決する方法を示す例に過ぎません。

wtmpとbtmpのフィルタリング

これらのファイルはバイナリファイルなので、単に標準ツール(およびsed)を使用して編集することはできませんawk。本当に編集したい場合は、cron定期的に編集する必要があります。ログインすると、2つのファイルに追加されたユーザーをフィルタリングする方法が見つかりません。

から抜粋Utmp wikipediaのページ

utmp、wtmp、btmp

  • ユテムシステムの現在の状態、システム起動時間(通常の稼働時間を使用)の完全な記録を維持し、ユーザーがログインしてログオフした端末、システムイベントなどを記録します。
  • ウォーターアンプ記録utmpで動作
  • BTMP失敗したログイン試行履歴

ファイルutmpはテキストファイルではなく、特別に作成されたプログラムで編集する必要があるバイナリ形式です。ファイル内の実装とフィールドはシステムまたはlibcのバージョンによって異なり、utmp.hヘッダーファイルで定義されます。

wtmpユーザー名が空の場合は、接続されている端末からログアウトすることを除いて、フォーマットはbtmpまったく同じです。utmpまた、ユーザー名のシャットダウンまたは再起動のターミナル名〜はシャットダウンまたは再起動を示し、ターミナル名のペアは日付が変更されたときの古い/新しいシステム時間を記録します。

これらのファイルを拡張するには、Perlモジュールを使用できます。ユーザー::Utmpこのファイルを変更するには、Pythonにも同様のモジュールがあります。

引用する

関連情報