mesg - Man Page
display (or do not display) messages from other users
Examples (TL;DR)
- Check terminal's openness to write messages:
mesg
- Disallow receiving messages from the write command:
mesg n
- Allow receiving messages from the write command:
mesg y
Synopsis
mesg [option] [n|y]
Description
The mesg utility is invoked by a user to control write access others have to the terminal device associated with standard error output. If write access is allowed, then programs such as talk(1) and write(1) may display messages on the terminal.
Traditionally, write access is allowed by default. However, as users become more conscious of various security risks, there is a trend to remove write access by default, at least for the primary login shell.
The initial permissions for the terminal are set by login(1) according to TTYPERM and TTYGROUP from /etc/login.defs. The default is mode 0620 if a tty group is used, and 0600 without the group. The default tty group name is "tty".
To ensure that your ttys are set in a portable and independent manner from system settings, mesg should be executed in your login scripts.
mesg modifies the write permissions for a group on the current terminal device. Since version 2.41, mesg can no longer be compiled to make the terminal writable for others and strictly modifies only group permissions. The usual setup is to use a "tty" group and add relevant users to this group. Alternatively, a less secure solution is to set utilities like write(1) or wall(1) to setgid for the "tty" group.
The mesg utility silently exits with error status 2 if not executed on a terminal. In this case executing mesg is pointless. The command line option --verbose forces mesg to print a warning in this situation. This behaviour has been introduced in version 2.33.
Arguments
- n
Disallow messages.
- y
Allow messages to be displayed.
If no arguments are given, mesg shows the current message status on standard error output.
Options
- -v, --verbose
Explain what is being done.
- -h, --help
Display help text and exit.
- -V, --version
Display version and exit.
Exit Status
The mesg utility exits with one of the following values:
- 0
Messages are allowed.
- 1
Messages are not allowed.
- >1
An error has occurred.
Files
/dev/[pt]ty*, /dev/pts/[0-9]*
History
mesg (I) appears in the UNIX Programmer’s Manual. It used to invert the current state with no argument before Version 7 AT&T UNIX.
See Also
Reporting Bugs
For bug reports, use the issue tracker.
Availability
The mesg command is part of the util-linux package which can be downloaded from Linux Kernel Archive.
Referenced By
login(1), rcvtty(1), talk(1), wall(1), write(1), xterm(1).