getty(8): Sync with FreeBSD.
[dragonfly.git] / libexec / getty / ttys.5
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 April 7, 2018
32 .Dt TTYS 5
33 .Os
34 .Sh NAME
35 .Nm ttys
36 .Nd terminal initialization information
37 .Sh DESCRIPTION
38 The file
39 .Nm
40 contains information that is used by various routines to initialize
41 and control the use of terminal special files.
42 This information is read with the
43 .Xr getttyent 3
44 library routines.
45 There is one line in the
46 .Nm
47 file per special device file.
48 Fields are separated by tabs and/or spaces.
49 Fields comprised of more than one word should be enclosed in double
50 quotes (``"'').
51 Blank lines and comments may appear anywhere in the file; comments
52 are delimited by hash marks (``#'') and new lines.
53 Any unspecified fields will default to null.
54 .Pp
55 The first field is normally the
56 name of the terminal special file as it is found in
57 .Pa /dev .
58 However, it can be any arbitrary string
59 when the associated command is not related to a tty.
60 .Pp
61 The second field of the file is the command to execute for the line,
62 usually
63 .Xr getty 8 ,
64 which initializes and opens the line, setting the speed, waiting for
65 a user name and executing the
66 .Xr login 1
67 program.
68 It can be, however, any desired command, for example
69 the start up for a window system terminal emulator or some other
70 daemon process, and can contain multiple words if quoted.
71 .Pp
72 The third field is the type of terminal usually connected to that
73 tty line, normally the one found in the
74 .Xr termcap 5
75 data base file.
76 The environment variable
77 .Ev TERM
78 is initialized with the value by
79 either
80 .Xr getty 8
81 or
82 .Xr login 1 .
83 .Pp
84 The remaining fields set flags in the
85 .Fa ty_status
86 entry (see
87 .Xr getttyent 3 ) ,
88 specify a window system process that
89 .Xr init 8
90 will maintain for the terminal line, optionally determine the
91 type of tty (whether dialin, network or otherwise),
92 or specify a tty group
93 name that allows the login class database (see
94 .Xr login.conf 5 )
95 to refer to many ttys as a group, to selectively allow or
96 deny access or enable or disable accounting facilities for
97 ttys as a group.
98 .Pp
99 As flag values, the strings ``on'' and ``off'' specify that
100 .Xr init 8
101 should (should not) execute the command given in the second field.
102 The flag ``ifconsole'' disables the tty entry if it is not the console.
103 That is, you can construct a tty entry, set to 'on', that you intend to
104 only be active if that tty is the console.
105 The flag ``secure'' (if the console is enabled) allows users with a
106 uid of 0 to login on
107 this line.
108 The flag ``dialup'' indicates that a tty entry describes a dialup
109 line, and ``network'' indicates that a tty entry provides a
110 network connection.
111 Either of these strings may also be specified in the terminal type
112 field.
113 The string ``window='' may be followed by a quoted command
114 string which
115 .Xr init 8
116 will execute
117 .Em before
118 starting the command specified by the second field.
119 .Pp
120 The string ``group='' may be followed by a group name comprised of
121 alphanumeric characters that can be used by
122 .Xr login.conf 5
123 to refer to many tty lines as a group to enable or disable access
124 and accounting facilities.
125 If no group is specified, then the tty becomes a member of the group
126 "none".
127 For backwards compatibility, the ``group='' should appear last on the
128 line, immediately before the optional comment.
129 .Pp
130 Both the second field and any command specified with ``window=''
131 will be split into words and executed using
132 .Xr execve 2 .
133 Words are separated by any combinations of tabs and spaces.
134 Arguments containing whitespace should be enclosed in single quotes
135 .Pq Li ' .
136 Note 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
144 console "/usr/libexec/getty std.1200"   vt100   on secure
145 # dialup at 1200 baud, no root logins
146 ttyd0   "/usr/libexec/getty d1200"      dialup  on group=dialup # 555-1234
147 # Mike's terminal: hp2621
148 ttyh0   "/usr/libexec/getty std.9600"   hp2621-nl       on group=dialup # 457 Evans
149 # John's terminal: vt100
150 ttyh1   "/usr/libexec/getty std.9600"   vt100   on group=dialup         # 459 Evans
151 # terminal emulate/window system
152 ttyv0   "/usr/local/bin/xterm -display :0"      xterm   on window="/usr/local/bin/X :0"
153 # Network pseudo ttys -- don't enable getty
154 ttyp0   none    network         group=pty
155 ttyp1   none    network off     group=pty
156 .Ed
157 .Sh SEE ALSO
158 .Xr login 1 ,
159 .Xr getttyent 3 ,
160 .Xr ttyslot 3 ,
161 .Xr gettytab 5 ,
162 .Xr login.conf 5 ,
163 .Xr termcap 5 ,
164 .Xr getty 8 ,
165 .Xr init 8 ,
166 .Xr pstat 8
167 .\".Xr ttyflags 8
168 .Sh HISTORY
169 A
170 .Nm
171 file appeared in
172 .At v6 .