1.\" Copyright (c) 1985, 1991, 1993 2.\" The Regents of the University of California. All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 3. Neither the name of the University nor the names of its contributors 13.\" may be used to endorse or promote products derived from this software 14.\" without specific prior written permission. 15.\" 16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26.\" SUCH DAMAGE. 27.\" 28.\" from: @(#)ttys.5 8.1 (Berkeley) 6/4/93 29.\" $FreeBSD: head/libexec/getty/ttys.5 330277 2018-03-02 14:16:19Z trasz $ 30.\" 31.Dd September 10, 2019 32.Dt TTYS 5 33.Os 34.Sh NAME 35.Nm ttys 36.Nd terminal initialization information 37.Sh DESCRIPTION 38The file 39.Nm 40contains information that is used by various routines to initialize 41and control the use of terminal special files. 42This information is read with the 43.Xr getttyent 3 44library routines. 45There is one line in the 46.Nm 47file per special device file. 48Fields are separated by tabs and/or spaces. 49Fields comprised of more than one word should be enclosed in double 50quotes (``"''). 51Blank lines and comments may appear anywhere in the file; comments 52are delimited by hash marks (``#'') and new lines. 53Any unspecified fields will default to null. 54.Pp 55The first field is normally the 56name of the terminal special file as it is found in 57.Pa /dev . 58However, it can be any arbitrary string 59when the associated command is not related to a tty. 60.Pp 61The second field of the file is the command to execute for the line, 62usually 63.Xr getty 8 , 64which initializes and opens the line, setting the speed, waiting for 65a user name and executing the 66.Xr login 1 67program. 68It can be, however, any desired command, for example 69the start up for a window system terminal emulator or some other 70daemon process, and can contain multiple words if quoted. 71.Pp 72The third field is the type of terminal usually connected to that 73tty line, normally the one found in the 74.Xr termcap 5 75data base file. 76The environment variable 77.Ev TERM 78is initialized with the value by 79either 80.Xr getty 8 81or 82.Xr login 1 . 83.Pp 84The remaining fields set flags in the 85.Fa ty_status 86entry (see 87.Xr getttyent 3 ) , 88specify a window system process that 89.Xr init 8 90will maintain for the terminal line, optionally determine the 91type of tty (whether dialin, network or otherwise), 92or specify a tty group 93name that allows the login class database (see 94.Xr login.conf 5 ) 95to refer to many ttys as a group, to selectively allow or 96deny access or enable or disable accounting facilities for 97ttys as a group. 98.Pp 99As flag values, the strings ``on'' and ``off'' specify that 100.Xr init 8 101should (should not) execute the command given in the second field. 102The flag ``ifconsole'' disables the tty entry if it is not the console. 103That is, you can construct a tty entry, set to 'on', that you intend to 104only be active if that tty is the console. 105The flag ``secure'' (if the console is enabled) allows users with a 106uid of 0 to login on 107this line. 108The flag ``dialup'' indicates that a tty entry describes a dialup 109line, and ``network'' indicates that a tty entry provides a 110network connection. 111Either of these strings may also be specified in the terminal type 112field. 113The string ``window='' may be followed by a quoted command 114string which 115.Xr init 8 116will execute 117.Em before 118starting the command specified by the second field. 119.Pp 120The string ``group='' may be followed by a group name comprised of 121alphanumeric characters that can be used by 122.Xr login.conf 5 123to refer to many tty lines as a group to enable or disable access 124and accounting facilities. 125If no group is specified, then the tty becomes a member of the group 126"none". 127For backwards compatibility, the ``group='' should appear last on the 128line, immediately before the optional comment. 129.Pp 130Both the second field and any command specified with ``window='' 131will be split into words and executed using 132.Xr execve 2 . 133Words are separated by any combinations of tabs and spaces. 134Arguments containing whitespace should be enclosed in single quotes 135.Pq Li ' . 136Note that no shell-style globbing or other variable substitution occurs. 137.Sh FILES 138.Bl -tag -width /etc/ttys -compact 139.It Pa /etc/ttys 140.El 141.Sh EXAMPLES 142.Bd -literal 143# root login on console at 1200 baud 144console "/usr/libexec/getty std.1200" vt100 on secure 145# dialup at 1200 baud, no root logins 146ttyd0 "/usr/libexec/getty d1200" dialup on group=dialup # 555-1234 147# Mike's terminal: hp2621 148ttyh0 "/usr/libexec/getty std.115200" hp2621-nl on group=dialup # 457 Evans 149# John's terminal: vt100 150ttyh1 "/usr/libexec/getty std.115200" vt100 on group=dialup # 459 Evans 151# terminal emulate/window system 152ttyv0 "/usr/local/bin/xterm -display :0" xterm on window="/usr/local/bin/X :0" 153# Network pseudo ttys -- don't enable getty 154ttyp0 none network group=pty 155ttyp1 none network off group=pty 156.Ed 157.Sh SEE ALSO 158.Xr login 1 , 159.Xr getttyent 3 , 160.Xr gettytab 5 , 161.Xr login.conf 5 , 162.Xr termcap 5 , 163.Xr getty 8 , 164.Xr init 8 , 165.Xr pstat 8 166.\".Xr ttyflags 8 167.Sh HISTORY 168A 169.Nm 170file appeared in 171.At v6 . 172