MESG(1) Polecenia użytkownika MESG(1)

mesg - wyświetla (lub nie wyświetla) wiadomości od innych użytkowników

mesg [opcja] [n|y]

Narzędzie mesg jest wywoływane przez użytkownika, w celu kontroli dostępu do zapisu do urządzenia terminala, powiązanego ze standardowym wyjściem błędów, przez innych użytkowników. Jeśli zezwolono na dostęp w trybie do zapisu, to programy takie jak talk(1) i write(1) mogą wyświetlać wiadomości na terminalu.

Tradycyjnie, dostęp w trybie do zapisu był domyślnie dozwolony. Z biegiem czasu użytkownicy stali się jednak bardziej wyczuleni na kwestie bezpieczeństwa, co spowodowało, że coraz częściej taki dostęp staje się zabroniony, przynajmniej w powłoce logowania.

Pierwotne uprawnienia dla terminala są ustawiane przez login(1), zgodnie z TTYPERM i TTYGROUP z pliku /etc/login.defs. Domyślny tryb to 0620 jeśli używa się grupy tty oraz 0600 bez tej grupy. Domyślna nazwa grupy tty to "tty".

Aby upewnić się, że terminale są ustawione w sposób przenośny i niezależny od ustawień systemowych, powinno się wykonywać polecenie mesg w swoich skryptach logowania.

mesg modyfikuje uprawnienia zapisu dla grupy na bieżącym urządzeniu terminala. Od wersji 2.41, nie można skompilować mesg w sposób, czyniący terminal zapisywalnym dla innych, lecz ściśle modyfikuje jedynie uprawnienia grupy. Zwykle konfiguracja polega na wykorzystaniu grupy "tty" i dodaniu do niej odpowiednich użytkowników. Alternatywnym, mniej bezpiecznym rozwiązaniem jest ustawienie narzędzi takich jak write(1) lub wall(1) jako setgid dla grupy "tty".

Narzędzie mesg milcząco wyjdzie ze statusem błędu równym 2, jeśli nie zostało wykonane na terminalu. W takim przypadku wywołanie mesg jest bowiem niecelowe. Opcja wiersza poleceń --verbose powoduje, że mesg wypisze w takim przypadku ostrzeżenie. To zachowanie dodano w wersji 2.33.

n

Nie zezwala na wiadomości.

y

Zezwala na wyświetlanie wiadomości.

Jeśli nie poda się argumentów, mesg wypisze bieżący status wiadomości na standardowe wyjście błędów.

-v, --verbose

Wypisuje bieżące działania.

-h, --help

Wyświetla ten tekst i wychodzi.

-V, --version

Wyświetla wersję i wychodzi.

Narzędzie mesg kończy pracę z jedną z następujących wartości:

0

Wiadomości są dozwolone.

1

Wiadomości nie są dozwolone

>1

Wystąpił błąd.

/dev/[pt]ty*, /dev/pts/[0-9]*

mesg (I) pojawiło się w UNIX Programmer’s Manual. Przed wersją 7 AT&T UNIX, bez argumentu odwracało bieżący stan.

login(1), talk(1), write(1), wall(1), xterm(1)

Problemy należy zgłaszać w systemie śledzenia błędów https://github.com/util-linux/util-linux/issues.

Polecenie mesg jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux https://www.kernel.org/pub/linux/utils/util-linux/.

2025-03-29 util-linux 2.41