Krótka wersja: Jak wyłączyć wiadomości kontrolne (dmesg) w systemie Fedora?
System Fedora ciągle rejestruje komunikaty „audyt: sukces” w dmesg - w tak ekstremalny sposób, że dmesg stał się bezużyteczny, ponieważ jest wypełniony tymi wiadomościami ( dmesg | grep -v audit
jest pusty). Te wiadomości są całkowicie bezużyteczne, ponieważ oczywiście chcą poinformować użytkownika, że niektóre codzienne procesy wewnętrzne zakończyły się powodzeniem (co może być interesujące podczas debugowania czegoś, ale w tym przypadku jest to po prostu szum).
Nawet interfejs wiersza poleceń (podczas przełączania na tty inne niż X za pomocą Ctrl+ Alt+ F2) stał się bezużyteczny, ponieważ zawsze jest zaśmiecony tymi komunikatami audytu, niemożliwe jest odczytanie danych wyjściowych poleceń, które są faktycznie uruchamiane przez użytkownika. Na przykład po wprowadzeniu nazwy użytkownika (loginu) wysyła się komunikat kontrolny (najwyraźniej informujący użytkownika, że coś zostało sformatowane / wydrukowane pomyślnie):
audit: type = 1131 audit (1446913801.945: 10129): pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = fprintd comm = "systemd" exe = "/ usr / lib / systemd / systemd" nazwa hosta =? addr =? terminal =? res = sukces ”
Wygląda na to, że większość z tych komunikatów oznacza „sukces”, jednak istnieje również wiele komunikatów z audytu, które nie zawierają tego słowa kluczowego. Uruchomienie Chromium uruchamia setki z nich:
audit: type = 1326 audit (1446932349.568: 10307): auid = 500 uid = 500 gid = 500 ses = 2 pid = 1593 comm = "chrome" exe = "/ usr / lib64 / chrome / chrome" sig = 0 arch = c000003e syscall = 273 kompatybil = 0 ip = 0x7f9a1d0a34f4 kod = 0x50000
Inne wiadomości obejmują:
audit: type = 1131 audit (1446934361.948: 10327): pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = NetworkManager-dispatcher comm = "systemd" exe = "/ usr / lib / systemd / systemd" nazwa hosta =? addr =? terminal =? res = sukces ”
audit: type = 1103 audit (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 "nazwa hosta =? addr =? terminal = cron res = sukces ”
Zasadniczo większość ostatnich komunikatów kontrolnych (w momencie pisania) zawiera słowo kluczowe „ NetworkManager ” lub „ chrome ”.
Jak można całkowicie wyłączyć te wiadomości?
Dodatkowe punkty:
- Na wypadek, gdyby ktoś pomyślał „powinieneś przeczytać i przeanalizować te wiadomości z audytu, nie wyłączać ich, mogą one być ważne”, nie, nie są one ważne, są to prawie wyłącznie wiadomości o „sukcesie”. Nikt nie musi być informowany, że coś, co powinno działać, faktycznie działało. Jeśli jednak zarejestrowana zostanie jedna naprawdę znacząca wiadomość, nigdy nie zostanie zauważona podczas burzy tysięcy nieistotnych wiadomości. W każdym razie nie jest wymagane rejestrowanie audytu w tym konkretnym systemie (i tak działa on w kontrolowanym środowisku).
- Najwyraźniej coś musi być bardzo źle skonfigurowane w tym systemie. Jednak była to kiedyś domyślna instalacja Fedory, która była aktualizowana za każdym razem, gdy pojawiała się nowa wersja. Być może jest to tylko proste ustawienie, które należy zmienić, ale ponieważ nie zdarzyło się ręcznie zmienić konfiguracji systemu (celowo), to pytanie stackexchange.com pomoże innym osobom, które zdarzyły się mieć ten sam stan.
- Teraz jest to system Fedora 22 z systemem Linux 4.0.6 (systemd 219).
- Jest to standardowa instalacja Fedory na pulpicie, obecnie działająca w KDE.
- SELinux jest wyłączony (/ etc / selinux / config jest ustawiony na „disabled”).
Aktualizacja : Po aktualizacji do Fedory 23 (jądro 4.2.5, systemd 222), jest mniej komunikatów kontrolnych niż wcześniej.
audit2allow
, czy zastanawiałeś się nad modyfikacją wartości kernel.printk, która jest istotna przy drukowaniu komunikatów jądra na konsoli? W Fedorze domyślnie jest to „7 4 1 7”, bardziej sensowną wartością jest „3 4 1 7”.