短いバージョン:Fedoraシステムで監査メッセージ(dmesg)を無効にする方法
Fedoraシステムは "監査:成功"メッセージをdmesgに記録し続けます-極端な方法で、dmesgはこれらのメッセージ(dmesg | grep -v audit
は空です)。これらのメッセージは、毎日の内部プロセスが成功したことをユーザーに明らかに伝えたいため、完全に役に立たないものです(これは何かをデバッグするときに重要かもしれませんが、この場合は単なるノイズです)。
コマンドラインインターフェース(X以外のttyに切り替える場合) Ctrl + Alt + F2)これらの監査メッセージは常に雑然としているため、使用できなくなり、実際にユーザーが実行したコマンドの出力を読み取ることができなくなりました。たとえば、ユーザー名(ログイン)を入力すると、監査メッセージが出力されます(何かが正常にフォーマット/印刷されたことをユーザーに通知しているようです)。
監査:タイプ= 1131監査(1446913801.945:10129):pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = fprintd comm = "systemd" exe = "/ usr/lib/systemd/systemd" hostname =? addr =?ターミナル=? res =成功 '
これらのメッセージのほとんどは「成功」を示しているようですが、このキーワードを含まない監査メッセージも多数あります。 Chromiumを実行すると、次の数百がトリガーされます。
監査:タイプ= 1326監査(1446932349.568:10307):auid = 500 uid = 500 gid = 500 ses = 2 pid = 1593 comm = "chrome" exe = "/ usr/lib64/chromium/chrome" sig = 0 Arch = c000003e syscall = 273 compat = 0 ip = 0x7f9a1d0a34f4 code = 0x50000
その他のメッセージは次のとおりです。
監査:タイプ= 1131監査(1446934361.948:10327):pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = NetworkManager-dispatcher comm = "systemd" exe = "/ usr/lib/systemd/systemd"ホスト名=? addr =?ターミナル=? res =成功 '
監査:タイプ= 1103監査(1446926401.821:10253):pid = 28148 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'op = PAM:setcred grantors = p am_env、pam_unix acct = "user" exe = "/ usr/sbin/crond "ホスト名=? addr =? terminal = cron res = success '
通常、最近の監査メッセージの大部分(執筆時)には、キーワード「NetworkManager」または「」が含まれていますchrome」。
これらのメッセージを完全に無効にするにはどうすればよいですか?
追加ポイント:
アップデート:Fedora 23(カーネル4.2.5、systemd 222)にアップグレードした後、以前よりも監査メッセージが少なくなりました。
まず、Fedoraでは、auditdとauditctlの両方が同じパッケージに由来します(紛らわしくない名前のaudit)。したがって、auditctlがない場合、他の何かが間違っています。これを試して:
rpm -ql audit |grep ctl
それでも何も得られない場合は、監査パッケージがまったくインストールされていません。
次に、あなたが言及したgrub.cfgファイルの最初の「人間の」言語の行は、私のシステムでは「編集しないでください」と言っています。これは、ファイルへの手動による変更が失われる可能性があるという手がかりです。
Fedora/redhatシステムでgrub設定を編集するための正しい場所は、変更する必要がないと具体的に提案したファイル(/ etc/default/grub)です。実際には、これが提案された変更を行い、カーネルのアップグレードを生き残るための唯一の「安全な」方法です。これは、カーネルのアップグレード中にソース構成の一部として使用され、動作するgrub.cfgを再生成するためです。 grub2-mkconfigコマンドを検索します(これは友達です)。詳細はこちら: https://fedoraproject.org/wiki/GRUB_2
あなたの答えは間違っていませんが、私はそれが少し紛らわしいことに気づきました。私はgrubコマンドラインが嫌いです。IMHOでカーネルコマンドラインに空白文字を追加し損なう可能性のあるユーザーは、おそらくその道を進んでくれたことに感謝しません。それでも、一部の人々は私が知っている難しい方法を学びたいです。
以下のすべてのコマンドは、rootとして実行する必要があります(これ自体は、提案するのは危険です)。
実行中のシステムの場合:
auditctl -e 0
Auditctlが見つからない場合は、PATHを確認し、次のことも考慮してください。
dnf install audit
これにより、再起動できるまでメッセージを無効にしない場合でも、少なくとも減らす必要があります。
再起動後も維持するには、/ etc/default/grubを編集してGRUB_CMDLINE_LINUX行を変更し、末尾に「audit = 0」を追加してから、grub2-mkconfigを使用してgrub.cfgを再生成します。この最後のステップでは、変更と実行中のシステムの間に検証のレイヤーも配置します。
一時的に監査を一時的に無効にすることができます
Sudo auditctl -e 0
そして一時的にすべてのルールを削除します
Sudo auditctl -D
今後のブーツのために、あなたはその開始を無効にすることを試みることができます
Sudo systemctl disable auditd
システムの実行中に無効にできるauditdサービスはありませんが、ブートオプションaudit=0
を追加すると、これらのメッセージがすべて無効になるようです。 Xが実行されていないコマンドラインでもシステムは再び使用可能です。
このオプションは一時的に設定できます(変更は再起動後も持続しません)。
audit=0
を追加します。たとえば... LANG=en_US.UTF-8 audit=0
(明らかに...UTF-8audit=0
ではありません)。もちろん、この変更はシステムの実行中にのみ有効になります。監査フラッドは、再起動後に戻ってきます。この変更を永続的にするには、ブート構成を永続的に変更する必要があります。 Fedoraでは、/boot/grub2/grub.cfg
を変更するだけで十分です。これは、新しいカーネルがインストールされると(システムアップデート)、grubbyが最新のカーネルのオプションを新しくインストールされたカーネルにコピーするためです。つまり、このファイルの最初のlinux
行(最初のmenuentry
セクション)にaudit=0
を追加する必要があります。 変更する必要はありません。/etc/default/grub
修正:実際、正しい最も信頼できるアプローチは、/etc/default/grub
を編集し、grub2-mkconfig -o /boot/grub2/grub.cfg
を使用してGrub構成を再生成することです。ありがとう これを指摘してくれたKnightLordAndMaster 。
ログファイルの監査ログに関する追加の注意:
補足として、次の行は監査ログがログファイルに記録されるのを防ぐ必要がありますが、dmesgとコンソールが乱雑になるため、これ自体はソリューションではありません。この行は、/etc/rsyslog.conf
の最初のルールとして配置されます。
...
#### RULES ####
# no audit
:programname, isequal, "audit" ~
...
これにより、次の警告が表示されます。
rsyslogd[xxxx]: warning: ~ action is deprecated, consider using the 'stop' statement instead [v8.35.0 try http://www.rsyslog.com/e/2307]