Краткая версия: Как отключить сообщения аудита (dmesg) в системе Fedora?
Система 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 =? адр =? терминальные =? Рез = успех
Похоже, что большинство этих сообщений указывают на «успех», однако есть также много сообщений аудита, которые не содержат этого ключевого слова. Запуск 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" имя хоста знак равно адр =? терминальные =? Рез = успех
аудит: тип = 1103 аудит (1446926401.821: 10253): pid = 28148 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'op = PAM: setcred grantors = p am_env, pam_unix acct = "пользователь" exe = "/ usr / sbin / crond "hostname =? адр =? терминал = cron res = успех '
Как правило, большинство недавних аудиторских сообщений (на момент написания) содержат ключевое слово « NetworkManager » или « chrome ».
Как можно полностью отключить эти сообщения?
Дополнительные баллы:
- В случае, если кто-то может подумать: «Вы должны прочитать и проанализировать эти аудиторские сообщения, а не отключать их, они могут быть важными», нет, они не важны, это почти исключительно сообщения «успеха». Никому не нужно говорить, что то, что должно работать, действительно работает. Однако, если регистрируется одно действительно важное сообщение, оно никогда не будет замечено в шторме тысяч незначительных сообщений. В любом случае, в этой конкретной системе не требуется ведение журнала аудита (в любом случае он работает в контролируемой среде).
- Очевидно, что-то должно быть очень неправильно настроено в этой системе. Однако когда-то это была стандартная установка Fedora, которая обновлялась при выходе новой версии. Может быть, это просто простая настройка, которую нужно изменить, но так как этого не произошло, изменив конфигурацию системы вручную (специально), этот вопрос stackexchange.com, надеюсь, поможет другим, кто случайно получил свою систему в том же состоянии.
- Теперь это система Fedora 22, работающая под управлением Linux 4.0.6 (systemd 219).
- Это стандартная настольная установка Fedora, в настоящее время под управлением KDE.
- SELinux отключен (/ etc / selinux / config установлен на «отключен»).
Обновление : после обновления до Fedora 23 (ядро 4.2.5, systemd 222) сообщений аудита меньше, чем раньше.
audit2allow
, вы решили просто изменить значение kernel.printk, которое имеет отношение к печати сообщений ядра на консоль? В Fedora по умолчанию это «7 4 1 7», более разумное значение - «3 4 1 7».Ответы:
Во-первых, в fedora и audd, и audctl поступают из одного и того же пакета (аудит без названия). Так что если у вас нет audctl, что-то еще не так. Попробуй это:
Если это ничего не дает, то у вас вообще не установлен пакет аудита.
Во-вторых, первая «человеческая» языковая строка в упомянутом вами файле grub.cfg говорит «НЕ РЕДАКТИРОВАТЬ» в моей системе. Это подсказка, что любые ручные изменения в файле могут быть потеряны.
Правильным местом для редактирования конфигурации grub в системе fedora / redhat является файл, который вы специально предложили изменить, и в нем нет необходимости изменять (/ etc / default / grub). На самом деле это единственный «безопасный» способ внести предложенные изменения и пережить обновления ядра. Это потому, что он используется как часть исходной конфигурации во время обновлений ядра, чтобы восстановить работающий grub.cfg. Посмотрите на команду grub2-mkconfig (и это друзья). Подробности здесь: https://fedoraproject.org/wiki/GRUB_2
Ваш ответ не является неправильным, но я нашел его немного запутанным. Я ненавижу командную строку grub, и ИМХО любой, кто может пропустить добавление символа пробела в командной строке ядра, вероятно, не поблагодарит никого за то, что он вел этот путь. Тем не менее, некоторым людям нравится изучать трудный путь, который я знаю.
Все приведенные ниже команды должны запускаться с правами root (что само по себе опасно, предлагать).
Для работающей системы:
Если вы не можете найти audctl, проверьте ваш PATH, а также подумайте:
Это должно как минимум уменьшить, если не отключать сообщения до тех пор, пока вы не сможете перезагрузиться.
Чтобы сохранить его после перезагрузки, отредактируйте / etc / default / grub и измените строку GRUB_CMDLINE_LINUX, добавив в конце «Audit = 0», затем используйте grub2-mkconfig для регенерации файла grub.cfg. Этот последний шаг также создает слой проверки между вашими изменениями и работающей системой.
источник
/etc/default/grub
иgrub2-mkconfig
должны быть использованы. Я добавил исправление в свой ответ.Вы можете быстро отключить аудит временно с
и временно удалить все правила с
Для будущих ботинок вы можете попробовать отключить его запуск с
источник
Не существует службы audd, которую можно было бы отключить во время работы системы, но оказывается, что добавление параметра загрузки
audit=0
отключает все эти сообщения. Система снова может использоваться, даже в командной строке без запуска X.Эта опция может быть установлена временно (изменение не переживет перезагрузку):
audit=0
. Например... LANG=en_US.UTF-8 audit=0
(нет...UTF-8audit=0
, очевидно).Конечно, это изменение вступит в силу только во время работы системы. Поток аудита вернется после перезагрузки. Чтобы сделать это изменение постоянным, конфигурацию загрузки необходимо изменить постоянно. На Fedora этого должно быть достаточно, чтобы просто изменить,
/boot/grub2/grub.cfg
потому что когда новое ядро установлено (обновление системы), grubby должен скопировать параметры самого последнего ядра во вновь установленное ядро. Это означает,audit=0
что должен быть добавлен к первойlinux
строке (первыйmenuentry
раздел) в этом файле.Не должно быть необходимости менять./etc/default/grub
Исправление: На самом деле, правильный и самый надежный подход - редактировать
/etc/default/grub
и восстанавливать конфигурацию Grub, используяgrub2-mkconfig -o /boot/grub2/grub.cfg
, спасибо KnightLordAndMaster за указание на это .Дополнительная заметка о журналах аудита в файлах журналов:
В качестве примечания следует, что следующая строка должна предотвращать попадание журналов аудита в файлы журналов, но они по-прежнему загромождают dmesg и консоль, так что это само по себе не является решением. Эта строка будет поставлена как первое правило в
/etc/rsyslog.conf
:Теперь это приводит к следующему предупреждению:
источник