rsyslogd: jak wysyłać wiadomości do pseudo konsoli użytkownika

3

Skonfigurowałem ustawienia rsyslogd.conf, aby:

auth,authpriv.*                 username

ale nazwa użytkownika nie otrzymuje wiadomości (we (wszystkich) jego pseudo-terminalach, tj. terminalach Gnome). Moje pytania z tym związane:

  1. czy użytkownik powinien zobaczyć wiadomości? jeśli tak, co może być przyczyną tego, że użytkownik nie otrzymuje wiadomości.
  2. jeśli nie, czy można to zrobić?
Andrei I
źródło

Odpowiedzi:

2

usernameSkładnia jest przestarzałe w rsyslog. Użyj zamiast tego.:omusrmsg:username

Jeśli nadal nie działa:

rsyslog używa /var/run/utmppliku, aby znaleźć listę tty użytkownika; emulatory terminali muszą dodać się do tego pliku, a to wymaga wystarczających uprawnień (plik zwykle nie jest dostępny do zapisu w świecie). Emulatory terminali oparte na X11 różnią się od programów logowania do systemu tym, że zaczynają się od uprawnień użytkownika, a nie uprawnień użytkownika root.

Użyj pinky, finger, wlub who, aby wyświetlić zawartość utmp . Jeśli nie zawierają żadnych wpisów „pts / X” należących do pseudo-terminali:

  1. Najpierw upewnij się, że /var/run/utmpistnieje, jest własnością utmpgrupy i jest do zapisu przez tę grupę. Jeśli nie, uruchom

    # chown :utmp /var/run/utmp && chmod ug=rw,o=r /var/run/utmp
    
  2. Następnie sprawdź, czy emulator terminala ma wystarczające uprawnienia do zapisu do tego pliku - mianowicie bit setgid i poprawne prawo własności do grupy:

    -rwxr-sr-x 1 root utmp 1.3M May 25  2012 /usr/bin/urxvt
    -rwxr-sr-x 1 root utmp 475K Nov 26 16:54 /usr/bin/xterm
    -rwxr-sr-x 1 root utmp  15K Nov 13 00:36 /usr/lib/vte/gnome-pty-helper
    

    Uwaga: GNOME Terminal używa osobnego gnome-pty-helpernarzędzia do wykonywania zmian utmp.

    Jeśli czegoś brakuje, uruchom:

    # chown :utmp /usr/lib/vte/gnome-pty-helper \
        && chmod g+s /usr/lib/vte/gnome-pty-helper
    
  3. Upewnij się, że rsyslogddziała jako konto, które może pisać do tty użytkowników. W razie potrzeby dodaj go do ttygrupy.

  4. W niektórych dystrybucjach sprawdź, czy polityka SELinux lub AppArmor zezwala na aktualizacje utmp.

grawitacja
źródło
Po zmianie na nowy format :omusrmsg:usernamezrestartowałem rsyslogd ( /etc/init.d/rsyslogd restart). Oczywiście sprawdziłem także krok 2 (w odpowiedzi dostaję wpisy z gnome-pty-helper w). Problem polega na tym, że nic nie przychodzi (te same funkcje syslogd są rejestrowane również w pliku).
Andriej I,
jakieś pomysły na dalsze debugowanie?
Andriej I,
Który użytkownik rsyslogddziała jako?
grawitacja,
użytkownik: syslog. Parametry wykorzystywane przez rsyslogd: -c5. I jest to system Ubuntu 12.04, prawdopodobnie wykorzystujący AppArmor.
Andriej I,
W rzeczywistości to gnome-terminal, co pojawia się na wwyjściu.
Andriej I,