]>
Commit | Line | Data |
---|---|---|
6dbe3af9 KZ |
1 | README for init/getty/login, by poe@daimi.aau.dk |
2 | ||
726f69e2 | 3 | This package contains simpleinit, agetty, and login programs for Linux. |
6dbe3af9 KZ |
4 | Additional utilities included are: hostname, who, write, wall, users |
5 | domainname, hostid, cage and mesg. | |
6 | ||
7 | Most of this software has been contributed by others, I basically just | |
8 | ported the things to Linux. | |
9 | ||
10 | About installation: See the bottom of this file. Check the Makefile! | |
11 | Be sure you know what you are doing! You may well be able to lock | |
726f69e2 KZ |
12 | yourself out from your machine. Especially: The init provided here |
13 | (simpleinit) is NOT a SYSV compatible init and the inittab format | |
14 | is different. | |
6dbe3af9 KZ |
15 | |
16 | If you are uncertain whether you got the latest version, check out | |
17 | ||
18 | ftp://ftp.daimi.aau.dk:/pub/linux/poe/ | |
19 | ||
726f69e2 KZ |
20 | Version 1.37 (15-Sep-95): |
21 | Added -I <initstring> and -w options to agetty.c for those that | |
22 | use agetty with modems. | |
23 | ||
24 | Version 1.36 (25-Aug-95): | |
25 | Enhanced /etc/usertty features with group support. Moved this part | |
26 | of login.c to checktty.c. One can now define classes of hosts and | |
27 | ttys and do access checking based on unix-group membership. See | |
28 | login.1. Also time ranges for logins can be specified, for example | |
29 | writing the line | |
30 | ||
31 | joe [mon:tue:wed:thu:fri:8-16]@barracuda [mon:tue:wed:thu:fri:0-7:17-23]@joes.pc.at.home [sat:sun:0-23]@joes.pc.at.home | |
32 | ||
33 | says that during working hours, Joe may rlogin from the host | |
34 | barracuda, whereas outside working hours and in weekends Joe may | |
35 | rlogin from his networked PC at home. | |
36 | ||
37 | login.c: failures was not properly initialized, it now is. Also | |
38 | made sure ALL failures are really logged to syslog. | |
39 | ||
40 | Version 1.35 (7-Aug-95): | |
41 | login.c: Much improved features for the usertty file, allows | |
42 | access control based on both hostnames/addresses and line. See the | |
43 | about.usertty file and the man-page. | |
44 | ||
45 | Fixed agetty so it doesn't fiddle with the ut_id field in the | |
46 | utmp record, this should prevent growing utmps on systems with | |
47 | more than 10 login lines. Fix suggested and checked by Alan Wendt | |
48 | <alan@ezlink.com> in his agetty.1.9.1a. | |
49 | ||
50 | Agetty now installs as agetty again, not as getty. | |
51 | Updated man-page for login(1) to document /etc/usertty changes. | |
52 | ||
53 | This has been tested on Linux 1.2.5 with GCC 2.5.8 and libc 4.5.26. | |
54 | ||
55 | Version 1.33a (20-Jun-95): | |
56 | rchatfie@cavern.nmsu.edu ("rc.") suggested that I should remove | |
57 | the #ifndef linux around the special logging of dial-up | |
58 | logins. This is now done, so each login via a serial port | |
59 | generates a separate DIALUP syslog entry. | |
60 | ||
61 | Version 1.33 (5-Jun-95): | |
62 | Patch by Ron Sommeling <sommel@sci.kun.nl> and | |
63 | jlaiho@ichaos.nullnet.fi (Juha Laiho) for agetty.c, used | |
64 | to return a pointer to an automatic variable in get_logname(). | |
65 | Many patches from or via Rickard Faith <faith@cs.unc.edu>, fixing | |
66 | man-pages etc, now defaults to using /var/log/wtmp and /var/run/utmp | |
67 | according to the new FSSTND. | |
68 | ||
69 | Fix in login.c for CPU eating bug when a remote telnet client dies | |
70 | while logging in. | |
71 | ||
72 | This is for Linux 1.2, GCC 2.6.2 or later. | |
73 | ||
74 | Version 1.32b (12-Mar-95): | |
75 | Login now sets the tty group to "tty" instead of "other". Depending | |
76 | on compile-time define USE_TTY_GROUP the tty mode is set to 0620 or | |
77 | 0600 instead of 0622. All as per suggestion by Rik Faith and the | |
78 | linux-security list. | |
79 | Write/wall now strips control chars except BEL (\007). Again after | |
80 | suggestion by Rik Faith. | |
81 | ||
82 | Version 1.32a | |
83 | Urgent security patch from Alvaro M. Echevarria incorporated into | |
84 | login.c. This is really needed on machines running YP until | |
85 | the libraries are fixed. | |
86 | ||
6dbe3af9 KZ |
87 | Version 1.32 |
88 | Login now logs the ip-address of the connecting host to utmp as it | |
89 | should. | |
90 | ||
91 | Version 1.31b (2-Feb-95): | |
92 | Daniel Quinlan <quinlan@yggdrasil.com> and Ross Biro | |
93 | <biro@yggdrasil.com> suggested a patch to login.c that allows for | |
94 | shell scripts in the shell field of /etc/passwd, so one can now | |
95 | have (as a line in /etc/passwd): | |
96 | bye::1000:1000:Outlogger:/bin:echo Bye | |
97 | Logging in as "bye" with no password simply echoes Bye on the screen. | |
98 | This has applications for pppd/slip. | |
99 | ||
100 | Version 1.31a (28-Oct-94): | |
101 | Scott Telford provided a patch for simpleinit, so executing reboot | |
102 | from singleuser mode won't partially execute /etc/rc before | |
103 | the reboot. | |
104 | ||
105 | Version 1.30 (17-Sep-94): | |
106 | tobias@server.et-inf.fho-emden.de (Peter Tobias) has made a more | |
107 | advanced hostname command that understands some options such as | |
108 | -f for FQDN etc. I'll not duplicate his work. Use his hostname | |
109 | package if you wish. | |
110 | ||
111 | svm@kozmix.xs4all.nl (Sander van Malssen) provided more features | |
112 | for the /etc/issue file in agetty. \U and \u now expand to the | |
113 | number of current users. | |
114 | ||
115 | It is now possible to state the value of TERM on the agetty command | |
116 | line. This was also provided by Sander. | |
117 | ||
118 | This has been built under Linux 1.1.42 with gcc 2.5.8 and libc 4.5.26. | |
119 | ||
120 | Version 1.29 (18-Aug-94): | |
121 | Finally got around to making a real version after the numerous | |
122 | alpha versions of 1.28. Scott Telford <st@epcc.ed.ac.uk> provided | |
123 | a patch for write(1) to make it look more like BSD write. | |
124 | ||
125 | Fixed login so that the .hushlogin feature works even with real | |
126 | protective users mounted via NFS (ie. where root can't access | |
127 | the user's .hushlogin file). | |
128 | ||
129 | Cleaned up the code to make -Wall bearable. | |
130 | ||
131 | Version 1.28c (21-Jul-94): | |
132 | Rik Faith reminded me that agetty should use the syslog | |
133 | facility. It now does. | |
134 | ||
135 | Version 1.28b (30-May-94): | |
136 | On suggestion from Jeremy Fitzhardinge <jeremy@suite.sw.oz.au> | |
137 | I added -- as option delimiter on args passed from agetty to | |
138 | login. Fixes -froot hole for other login programs. The login | |
139 | program in this package never had that hole. | |
140 | ||
141 | Version 1.28a (16-May-94): | |
142 | bill@goshawk.lanl.gov provided a couple of patches, one fixing | |
143 | terminal setup in agetty, and reboot is now supposed to be | |
144 | in /sbin according to FSSTND. | |
145 | ||
146 | Version 1.27 (10-May-94): | |
147 | Changed login.c, so all bad login attempts are logged, and added | |
148 | usertty security feature. See about.usertty for an explanation. | |
149 | There's no longer a limit of 20 chars in the TERM environment | |
150 | variable. Suggested by Nicolai Langfeldt <janl@math.uio.no> | |
151 | ||
152 | Added #ifdef HAVE_QUOTA around quota checks. Enable them if | |
153 | you have quota stuff in your libraries and kernel. | |
154 | Also re-enabled set/getpriority() calls as we now have them, | |
155 | and have had for a long time... | |
156 | ||
157 | Now wtmp is locked and unlocked around writes to avoid mangling. | |
158 | Due to Jaakko Hyv{tti <HYVATTI@cc.helsinki.fi>. | |
159 | ||
160 | Wrt. agetty: A \o in /etc/issue now inserts the domainname, as | |
161 | set by domainname(1). Sander van Malssen provided this. | |
162 | This is being used under Linux 1.1.9 | |
163 | ||
164 | Beefed up the agetty.8 man-page to describe the /etc/issue | |
165 | options. Added man-pages for wall, cage, who. | |
166 | ||
167 | Version 1.26 alpha (25-Apr-94): | |
168 | Added patch from Bill Reynolds <bill@goshawk.lanl.gov> to | |
169 | simpleinit, so it will drop into single user if /etc/rc | |
170 | fails, eg. from fsck. | |
171 | ||
172 | Version 1.25 (9-Feb-94): | |
173 | Agetty should now work with the Linux 0.99pl15a kernel. | |
174 | ECHOCTL and ECHOPRT are no longer set in the termios struct. | |
175 | Also made agetty accept both "tty baudrate" and "baudrate tty" | |
176 | arguments. | |
177 | ||
178 | Version 1.24 (23-Jan-94): changes since 1.22 | |
179 | Christian von Roques <roques@juliet.ka.sub.org> provided a patch | |
180 | that cleans up the handling of the -L option on agetty. | |
181 | Rik Faith <faith@cs.unc.edu> enhanced several man-pages... | |
182 | ||
183 | Version 1.23 (11-Dec-93): changes since 1.21 | |
184 | Mitchum DSouza provided the hostid(1) code. It needs libc 4.4.4 or | |
185 | later and a Linux 0.99.14 kernel or later. It can set and print | |
186 | the world unique hostid of the machine. This may be used in | |
187 | connection with commercial software licenses. God forbid! | |
188 | I added the -v option, and munged the code a bit, so don't blame | |
189 | Mitch if you don't like it. | |
190 | ||
191 | I made the "cage" program. Using this as a shell in the passwd | |
192 | file, enables one to let users log into a chroot'ed environment. | |
193 | For those that have modem logins and are concerned about security. | |
194 | Read the source for further info. | |
195 | ||
196 | "who am i" now works. | |
197 | ||
198 | The login program works with Yellow Pages (aka NIS) simply by | |
199 | linking with an appropriate library containing a proper version | |
200 | of getpwnam() and friends. | |
201 | ||
202 | Version 1.21 (30-Oct-93): changes since 1.20 | |
203 | In simpleinit.c: The boottime wtmp record is now written *after* | |
204 | /etc/rc is run, to put a correct timestamp on it. | |
205 | Daniel Thumim <dthumim@mit.edu> suggested this fix. | |
206 | ||
207 | The source and Makefile is prepared for optional installation of | |
208 | binaries in /sbin instead of /etc, and logfiles in /usr/adm instead | |
209 | of /etc. See and change the Makefile to suit your preferences. | |
210 | Rik Faith and Stephen Tweedie inspired this change. | |
211 | ||
212 | Version 1.20 (30-Jul-93): changes since 1.17: | |
213 | Versions 1.18 and 1.19 were never made publically available. | |
214 | Agetty now supports a -L switch that makes it force the CLOCAL flag. | |
215 | This is useful if you have a local terminal attached with a partly | |
216 | wired serial cable that does not pass on the Carrier Detect signal. | |
217 | ||
218 | There's a domainname program like the hostname program; contributed | |
219 | by Lars Wirzenius. | |
220 | ||
221 | Simpleinit will now write a REBOOT record to wtmp on boot up. Time- | |
222 | zone support is now optional in simpleinit. Both of these patches | |
223 | were made by Scott Telford <st@epcc.ed.ac.uk>. | |
224 | ||
225 | This is for Linux 0.99.11 or later. | |
226 | ||
227 | Version 1.17 (19-May-93): changes since 1.16: | |
228 | Login, simpleinit and write should now work with shadow passwords | |
229 | too. See the Makefile. Thanks to Anders Buch who let me have an | |
230 | account on his SLS based Linux box on the Internet, so I could test | |
231 | this. I should also thank jmorriso@rflab.ee.ubc.ca (John Paul Morrison) | |
232 | who sent me the shadow patch to login.c | |
233 | ||
234 | Version 1.16 (24-Apr-93): changes since 1.15a: | |
235 | Simpleinit now clears the utmp entry associated with the pid's that | |
236 | it reaps if there is one. A few are still using simpleinit and this | |
237 | was a popular demand. It also appends an entry to wtmp | |
238 | ||
239 | Version 1.15a (15-Mar-93): changes since 1.13a: | |
240 | junio@shadow.twinsun.com (Jun Hamano) sent me a one-line fix | |
241 | for occasional mangled issue-output from agetty. | |
242 | ||
243 | Version 1.13a (2-Mar-93): changes since 1.12a: | |
244 | With the new LILO (0.9), there are more than one possible arg | |
245 | to init, so Werner Almesberger <almesber@bernina.ethz.ch> | |
246 | suggested that a loop over argv[] was made in boot_single() in | |
247 | simpleinit.c | |
248 | ||
249 | Version 1.12a (24-Feb-93): changes since 1.11: | |
250 | This is for Linux 0.99.6 or later. Built with gcc 2.3.3 and libc4.2 | |
251 | jrs@world.std.com (Rick Sladkey) told me that the setenv("TZ",..) | |
252 | in login.c did more harm than good, so I commented it out. | |
253 | ||
254 | Version 1.11a (16-Feb-93): changes since 1.9a: | |
255 | This is for Linux 0.99.5 or later. | |
256 | Anthony Rumble <arumble@extro.ucc.su.OZ.AU> made me avare that | |
257 | the patches for vhangup() from Steven S. Dick didn't quite work, | |
258 | so I changed it. | |
259 | ||
260 | Linus Torvalds provided another patch relating to vhangup, since | |
261 | in newer Linuxen vhangup() doesn't really close all files, so we | |
262 | can't just open the tty's again. | |
263 | ||
264 | Version 1.9a (18-Jan-93): changes since 1.8a: | |
265 | Rick Faith sent me man-pages for most of the untilities in this | |
266 | package. They are now included. | |
267 | ||
268 | Steven S. Dick <ssd@nevets.oau.org> sent me a patch for login.c | |
269 | so DTR won't drop during vhangup() on a modemline. | |
270 | ||
271 | This is completely untested!! I haven't even had the time to | |
272 | compile it yet. | |
273 | ||
274 | Version 1.8a (13-Dec-92): changes since 1.7: | |
275 | This is for Linux 0.98.6 or later. Compiles with gcc2.2.2d7 and libc4.1 | |
276 | ||
277 | Bettered write/wall after fix from I forget who. Now wall can have | |
278 | commandline args. | |
279 | ||
280 | Fixed bug in who.c | |
281 | ||
282 | Patched simpleinit.c with patch from Ed Carp, so it sets the timezone | |
283 | from /etc/TZ. Should probably by be /etc/timezone. | |
284 | ||
285 | Sander Van Malssen <sander@kozmix.hacktic.nl> provided a patch | |
286 | for getty, so it can understand certain escapecodes in /etc/issue. | |
287 | ||
288 | I hacked up a very simple substitute for a syslog() call, to try out | |
289 | the logging. If you have a real syslog() and syslogd then use that! | |
290 | ||
291 | The special vhangup.c file is out, it's in the official libc by now. | |
292 | (and even in the libc that I have :-) | |
293 | ||
294 | who, and write are now deprecated, get the better ones from one of | |
295 | the GNU packages, shellutils I think. | |
296 | ||
297 | Some people think that the simple init provided in this package is too | |
298 | spartan, if you think the same, then get the SYSV compatible init | |
299 | from Miquel van Smoorenburg <miquels@maestro.htsa.aha.nl> | |
300 | Simpleinit will probably be deprecated in the future. | |
301 | ||
302 | Version 1.7: 26-Oct-92 changes since 1.6: | |
303 | This is for Linux 0.97PL4 or later. | |
304 | ||
305 | Thanks to Werner Almesberger, init now has support for a | |
306 | singleuser mode. | |
307 | ||
308 | Login now supports the -h <hostname> option, used in connection | |
309 | with TCP/IP. (rlogin/telnet) | |
310 | ||
311 | Getty writes an entry to /etc/wtmp when started, so last won't report | |
312 | "still logged in" for tty's that have not been logged into since | |
313 | the last user of that tty logged out. This patch was inspired by | |
314 | Mitchum DSouza. To gain the full benefit of this, get the newest | |
315 | last from the admutils-1.4.tar.Z package or later. | |
316 | ||
317 | Version 1.6 (29-Aug-92): changes since 1.5: | |
318 | This is for Linux 0.97P1+ or later. | |
319 | ||
320 | Login now uses the newly implemented vhangup() sys-call, to prevent | |
321 | snooping on the tty. | |
322 | An alternative getpass() function is now provided with login, because | |
323 | I was told that the old one in libc didn't work with telnet and | |
324 | or rlogin. I don't have a network or a kernel with TCP/IP so I haven't | |
325 | tested the new one with telnet, but it is derived from BSD sources | |
326 | that are supposed to work with networking. | |
327 | ||
328 | Version 1.5 (12-Aug-92): changes since 1.4 | |
329 | This is for Linux 0.97 or later, and has been built with gcc2.2.2 | |
330 | ||
331 | This release just puts in a few bugfixes in login.c and simpleinit.c | |
332 | ||
333 | Version 1.4 (4-Jul-92): changes since 1.3: | |
334 | This is for Linux 0.96b, and has been built and tested with gcc 2.2.2. | |
335 | ||
336 | Init now handles the SIGINT signal. When init gets a SIGINT it will | |
337 | call /usr/bin/reboot and thereby gently reboot the machine. This | |
338 | makes sense because after Linux 0.96B-PL1 the key-combination | |
339 | Ctrl-Alt-Del may send a SIGINT to init instead of booting the | |
340 | machine the hard way without syncing or anything. | |
341 | ||
342 | You may want to get the admutils-1.1 package which includes a program | |
343 | that will instruct the kernel to use the "gentle-reboot" procedure. | |
344 | ||
345 | Version 1.3 (14-Jun-92): changes since 1.2: | |
346 | This is for Linux 0.96A. | |
347 | ||
348 | The ioctl(TIOCSWINSZ) has been removed from login.c because it now | |
349 | works :-). | |
350 | ||
351 | login.c now supports a lastlog database. | |
352 | ||
353 | Several programs and pieces of source that were included in the 1.2 | |
354 | package has been *removed* as they are incorporated into the new | |
355 | libc. Other omitted parts such as last(1) has been replaced by | |
356 | better versions, and can be found in the admutils package. | |
357 | ||
358 | Agetty is now called getty and will be placed in /etc. | |
359 | ||
360 | A few changes has been made to make it possible to compile the | |
361 | stuff with GCC 2.x. | |
362 | ||
363 | Version 1.2 (28-Feb-92): changes since 1.1: | |
364 | This is for Linux 0.12. | |
365 | ||
366 | A couple of problems with simpleinit.c has been solved, thanks to | |
367 | Humberto Zuazaga. So now init groks comments in /etc/inittab, and | |
368 | handles the HUP and TSTP signals properly. | |
369 | ||
370 | I added two small scripts to the distribution: users and mesg. | |
371 | ||
372 | TERM is now carried through from /etc/inittab all the way to the | |
373 | shell. Console tty's are special-cased, so the termcap entry in | |
374 | /etc/inittab is overridden by the setting given at boot-time. | |
375 | This requires a different patch to the kernel than that distributed | |
376 | with version 1.1 | |
377 | ||
378 | Login no more sends superfluous chars from a password to the | |
379 | shell. It also properly prints a NL after the password. | |
380 | ||
381 | Agetty didn't set the erase character properly, it does now. | |
382 | ||
383 | A few extra defines has been added to utmp.h | |
384 | ||
385 | Several netters helped discover the bugs in 1.1. Thanks to them | |
386 | all. | |
387 | ||
388 | Version 1.1 (released 19-Feb-92): Changes since 1.0: | |
389 | A bug in simpleinit.c has been fixed, thanks to Pietro Castelli. | |
390 | The definition of the ut_line field has been changed to track the | |
391 | USG standard more closely, we now strip "/dev/" off the front. | |
392 | Thanks to: Douglas E. Quale and Stephen Gallimore. | |
393 | ||
394 | I have added a getlogin.c library routine, and a write(1) command. | |
395 | I removed the qpl-init stuff. If people want to use it, they should | |
396 | get it from the source. I don't want to hack on it anymore. | |
397 | ||
398 | A couple of people reported problems with getty having problems | |
399 | with serial terminals. That was correct. I borrowed a null-modem | |
400 | from Tommy Thorn, and now the problems should be fixed. It seems | |
401 | that there is kept a lot of garbage in the serial buffers, flush | |
402 | them and it works like a charm. Getty does an ioctl(0, TCFLSH, 2) | |
403 | for this. | |
404 | ||
405 | The write.c code now doubles as code for a wall(1) program. | |
406 | ||
407 | Description of the various files: | |
408 | ||
409 | login.c The login program. This is a portation of BSD login, first | |
410 | to HP-UX 8.0 by Michael Glad (glad@daimi.aau.dk), and | |
411 | to Linux (initially to 0.12) by me. | |
412 | ||
413 | who.c A simple who(1) util. to list utmp. Done by me. | |
414 | You may prefer the GNU who util. with more options | |
415 | and features. | |
416 | ||
417 | hostname.c A hostname(1) command to get and set the hostname. I did | |
418 | this too. | |
419 | ||
420 | domainname.c Like hostname, only reads out or sets the domainname. | |
421 | ||
422 | agetty.c The getty program. From comp.sources.misc, by W.Z. Venema. | |
423 | Hacked a bit by me. | |
424 | ||
425 | simpleinit.c A simple init program, written by me. Uses /etc/inittab | |
426 | ||
427 | A "kill -HUP" to init makes it re-read /etc/inittab. | |
428 | A "kill -TSTP" to init makes it stop spawning gettys on the | |
429 | ttys. A second "kill -TSTP" starts it again. | |
430 | A kill -INT to init makes it attempt a reboot of the machine. | |
431 | this works in connection with kernel support for softboot | |
432 | when Ctrl-Alt-Del is pressed. | |
433 | ||
434 | Init will start up in singleuser mode if /etc/singleboot | |
435 | exists at boottime, or if it is given an argument of "single" | |
436 | via eg. LILO. If /etc/securesingle exists it will ask for the | |
437 | root password before starting single user. | |
438 | ||
439 | write.c A write(1) command, used to pass messages between users | |
440 | at different terminals. This code doubles as code for | |
441 | a wall(1) command. Make a symlink: /usr/bin/wall -> | |
442 | /usr/bin/write for this. | |
443 | ||
444 | mesg A tiny shellscript, so you can avoid that other people write | |
445 | to your shell. | |
446 | ||
447 | users Another script that uses awk(1) and tr(1) to process the | |
448 | output from who(1) into a one-liner. | |
449 | If you don't have awk, but have Perl, this does the same: | |
450 | ||
451 | who | perl -ane 'print "$F[0] "'; echo "" | |
452 | ||
453 | pathnames.h: | |
454 | Header. | |
455 | ||
456 | param.h | |
457 | Header, extended with getdtablesize() macro, should go | |
458 | in /usr/include/sys | |
459 | ||
460 | Building. | |
461 | --------- | |
462 | A "make all" should do. At least it does for me. | |
463 | ||
464 | Installation: | |
465 | ------------- | |
466 | ||
467 | login should go in /bin, if you don't like this change | |
468 | pathnames.h and recompile at least agetty. | |
469 | ||
470 | getty, init Put them in SBINDIR | |
471 | ||
472 | who, hostname, write, wall, mesg, users: | |
473 | /usr/bin | |
474 | ||
475 | securetty login needs this in /etc, defines which ttys that root | |
476 | can login on. This should *never* include ttys{1,2} | |
477 | ||
478 | inittab the simpleinit code needs this in /etc. Note that the syntax | |
479 | of /etc/inittab has little to do with the syntax of a real | |
480 | SysV inittab. Edit this one for your local setup. | |
481 | ||
482 | shells The chsh program will use this if it's placed in /etc. It | |
483 | defines the valid shell-programs. Have one abs. path on | |
484 | each line. | |
485 | ||
486 | You can also do a "make install" as root, but don't just do it because I | |
487 | say so, check the Makefile first. | |
488 | ||
489 | "Make install" will install only the new binaries, and not motd, inittab, | |
490 | securetty and issue. To install these configuration files, do a | |
491 | "make Install". | |
492 | ||
493 | Getty requires a /dev/console to write errors to. I just made it a symlink | |
494 | to /dev/tty1. Because of a bug in the tty driver this errorlogging may | |
495 | cause the shell on tty1 to logout. | |
496 | ||
497 | Getty will print the contents of /etc/issue if it's present before asking | |
498 | for username. Login will print the contents of /etc/motd after successful | |
499 | login. Login doesn't print /etc/motd, and doesn't check for mail if | |
500 | ~/.hushlogin is present and world readable. | |
501 | ||
502 | If /etc/nologin is present then login will print its contents and disallow | |
503 | any logins except root. | |
504 | It might be a good idea to have a "rm -f /etc/nologin" line in one's | |
505 | /etc/rc file. | |
506 | ||
507 | If /etc/securetty is present it defines which tty's that root can login on. | |
508 | ||
509 | - Peter (poe@daimi.aau.dk) |