# mesg

## NAME



           mesg - display (or do not display) messages from other users
    


## 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]*_
    


## AVAILABILITY



           The **mesg** command is part of the util-linux package which can be
           downloaded from Linux Kernel Archive
           <https://www.kernel.org/pub/linux/utils/util-linux/>. This page is
           part of the _util-linux_ (a random collection of Linux utilities)
           project. Information about the project can be found at 
           ⟨https://www.kernel.org/pub/linux/utils/util-linux/⟩. If you have a
           bug report for this manual page, send it to
           util-linux@vger.kernel.org. This page was obtained from the
           project's upstream Git repository
           ⟨git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git⟩ on
           2025-08-11. (At that time, the date of the most recent commit that
           was found in the repository was 2025-08-05.) If you discover any
           rendering problems in this HTML version of the page, or you
           believe there is a better or more up-to-date source for the page,
           or you have corrections or improvements to the information in this
           COLOPHON (which is _not_ part of the original manual page), send a
           mail to man-pages@man7.org
    
    util-linux 2.42-start-521-ec46  2025-08-09                        _MESG_(1)
    


* * *