sync
[bitrig.git] / share / man / man5 / login.conf.5
blobc40e68bc48c830e8444b1b2849929c8f9e8065fd
1 .\"
2 .\" Copyright (c) 1995,1996,1997 Berkeley Software Design, Inc.
3 .\" All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\"    notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\"    notice, this list of conditions and the following disclaimer in the
12 .\"    documentation and/or other materials provided with the distribution.
13 .\" 3. All advertising materials mentioning features or use of this software
14 .\"    must display the following acknowledgement:
15 .\"     This product includes software developed by Berkeley Software Design,
16 .\"     Inc.
17 .\" 4. The name of Berkeley Software Design, Inc.  may not be used to endorse
18 .\"    or promote products derived from this software without specific prior
19 .\"    written permission.
20 .\"
21 .\" THIS SOFTWARE IS PROVIDED BY BERKELEY SOFTWARE DESIGN, INC. ``AS IS'' AND
22 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 .\" ARE DISCLAIMED.  IN NO EVENT SHALL BERKELEY SOFTWARE DESIGN, INC. BE LIABLE
25 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 .\" SUCH DAMAGE.
32 .\"
33 .\" $OpenBSD: login.conf.5,v 1.50 2012/11/25 21:18:13 jmc Exp $
34 .\" BSDI $From: login.conf.5,v 2.20 2000/06/26 14:50:38 prb Exp $
35 .\"
36 .Dd $Mdocdate: November 25 2012 $
37 .Dt LOGIN.CONF 5
38 .Os
39 .Sh NAME
40 .Nm login.conf
41 .Nd login class capability database
42 .Sh SYNOPSIS
43 .Nm /etc/login.conf
44 .Sh DESCRIPTION
45 The
46 .Nm
47 file describes the various attributes of login classes.
48 A login class determines what styles of authentication are available
49 as well as session resource limits and environment setup.
50 While designed primarily for the
51 .Xr login 1
52 program,
53 it is also used by other programs, e.g.,
54 .Xr ftpd 8 ,
55 to determine what means of authentication are available.
56 It is also used by programs, e.g.,
57 .Xr rshd 8 ,
58 which need to set up a user environment.
59 .Pp
60 A special record,
61 .Dq default ,
63 .Pa /etc/login.conf
64 is used for any user without a valid login class in
65 .Pa /etc/master.passwd .
66 .Pp
67 Sites with very large
68 .Pa /etc/login.conf
69 files may wish to create a database version of the file,
70 .Pa /etc/login.conf.db ,
71 for improved performance.
72 Using a database version for small files does not result in a
73 performance improvement.
74 To build
75 .Pa /etc/login.conf.db
76 from
77 .Pa /etc/login.conf
78 the following command may be used:
79 .Pp
80 .Dl # cap_mkdb /etc/login.conf
81 .Pp
82 Note that
83 .Xr cap_mkdb 1
84 must be run after each edit of
85 .Pa /etc/login.conf
86 to keep the database version in sync with the plain file.
87 .Sh CAPABILITIES
88 Refer to
89 .Xr getcap 3
90 for a description of the file layout.
91 All entries in the
92 .Nm
93 file are either boolean or use a
94 .Ql =
95 to separate the capability from the value.
96 The types are described after the capability table.
97 .Bl -column "approve-service" "program" "blowfish,6" "Description"
98 .It Sy Name Ta Sy Type Ta Sy Default Ta Sy Description
99 .\"
100 .It approve Ta program Ta "" Ta
101 Default program to approve login.
104 .It approve- Ns Ar service Ta program Ta "" Ta
105 Program to approve login for
106 .Ar service .
109 .It auth Ta list Ta Dv passwd Ta
110 Allowed authentication styles.
111 The first value is the default styles.
114 .It auth- Ns Ar type Ta list Ta "" Ta
115 Allowed authentication styles for the authentication type
116 .Ar type .
119 .It classify Ta program Ta "" Ta
120 Classify type of login.
123 .It copyright Ta file Ta "" Ta
124 File containing additional copyright information.
127 .It coredumpsize Ta size Ta "" Ta
128 Maximum coredump size limit.
131 .It cputime Ta time Ta "" Ta
132 CPU usage limit.
135 .It datasize Ta size Ta "" Ta
136 Maximum data size limit.
139 .It expire-warn Ta time Ta Dv 2w Ta
140 If the user's account will expire within this length of time then
141 warn the user of this.
144 .It filesize Ta size Ta "" Ta
145 Maximum file size limit.
148 .It hushlogin Ta bool Ta Dv false Ta
149 Same as having a
150 .Pa $HOME/.hushlogin
151 file.
153 .Xr login 1 .
156 .It ignorenologin Ta bool Ta Dv false Ta
157 Not affected by
158 .Pa nologin
159 files.
161 .Xr login 1 .
164 .It localcipher Ta string Ta blowfish,6 Ta
165 The cipher to use for local passwords.
166 Possible values are:
167 .Dq old ,
168 .Dq newsalt,<rounds> ,
169 .Dq md5 ,
171 .Dq blowfish,<rounds>
172 where
173 .Dq old
174 means classic 56-bit DES.
176 .Dq newsalt
177 the value of rounds is a 24-bit integer with a minimum of 7250 rounds.
179 .Dq blowfish
180 the value can be between 4 and 31.
181 It specifies the base 2 logarithm of the number of rounds.
184 .It ypcipher Ta string Ta old Ta
185 The cipher to use for YP passwords.
186 The possible values are the same as for
187 .Ar localcipher .
190 .It login-backoff Ta number Ta 3 Ta
191 After
192 .Ar login-backoff
193 unsuccessful login attempts during a single session,
194 .Xr login 1
195 will start sleeping a bit in between attempts.
198 .It login-timeout Ta time Ta 300 Ta
199 Number of seconds before
200 .Xr login 1
201 times out at the password prompt.
202 Note that this setting is only valid for the
203 .Li default
204 record.
207 .It login-tries Ta number Ta 10 Ta
208 Number of tries a user gets to successfully login before
209 .Xr login 1
210 closes the connection.
213 .It stacksize Ta size Ta "" Ta
214 Maximum stack size limit.
217 .It maxproc Ta number Ta "" Ta
218 Maximum number of processes.
221 .It memorylocked Ta size Ta "" Ta
222 Maximum locked in core memory size limit.
225 .It memoryuse Ta size Ta "" Ta
226 Maximum in core memoryuse size limit.
229 .It minpasswordlen Ta number Ta 6 Ta
230 The minimum length a local password may be.
231 If a negative value or zero, no length restrictions are enforced.
232 Used by the
233 .Xr passwd 1
234 utility.
237 .It nologin Ta file Ta "" Ta
238 If the file exists it will be displayed
239 and the login session will be terminated.
242 .It openfiles Ta number Ta "" Ta
243 Maximum number of open file descriptors per process.
246 .It password-dead Ta time Ta Dv 0 Ta
247 Length of time a password may be expired but not quite dead yet.
248 When set (for both the client and remote server machine when doing
249 remote authentication), a user is allowed to log in just one more
250 time after their password (but not account) has expired.
251 This allows a grace period for updating their password.
254 .It password-warn Ta time Ta Dv 2w Ta
255 If the user's password will expire within this length of time then
256 warn the user of this.
259 .It passwordcheck Ta program Ta "" Ta
260 An external program that checks the quality of the password.
261 The password is passed to the program on
262 .Pa stdin .
263 An exit code of 0 indicates that the quality of the password is
264 sufficient, an exit code of 1 signals that the password failed the check.
267 .It passwordtime Ta time Ta "" Ta
268 The lifetime of a password in seconds, reset every time a user
269 changes their password.
270 When this value is exceeded the user will no longer be able to
271 login unless the
272 .Li password-dead
273 option has been specified.
274 Used by the
275 .Xr passwd 1
276 utility.
279 .It passwordtries Ta number Ta 3 Ta
280 The number of times the
281 .Xr passwd 1
282 utility enforces a check on the password.
283 If 0, the new password will only be accepted if it passes the password
284 quality check.
287 .It path Ta path Ta value of Dv _PATH_DEFPATH Ta
289 Default search path.
291 .Pa /usr/include/paths.h .
294 .It priority Ta number Ta "" Ta
295 Initial priority (nice) level.
298 .It requirehome Ta bool Ta Dv false Ta
299 Require home directory to login.
302 .It setenv Ta envlist Ta "" Ta
303 A list of environment variables and associated values to be set for the class.
306 .It shell Ta program Ta "" Ta
307 Session shell to execute rather than the shell specified in the password file.
309 .Ev SHELL
310 environment variable will contain the shell specified in the password file.
313 .It term Ta string Ta Dv su Ta
314 Default terminal type if not able to determine from other means.
317 .It umask Ta number Ta Dv 022 Ta
318 Initial umask.
319 Should always have a leading
320 .Li 0
321 to ensure octal interpretation.
323 .Xr umask 2 .
326 .It vmemoryuse Ta size Ta "" Ta
327 Maximum virtual memoryuse size limit.
330 .It welcome Ta file Ta Pa /etc/motd Ta
331 File containing welcome message.
334 The resource limit entries
335 .No ( Ns Va cputime , filesize , datasize , stacksize , coredumpsize ,
336 .Va memoryuse , memorylocked , maxproc ,
338 .Va openfiles )
339 actually specify both the maximum and current limits (see
340 .Xr getrlimit 2 ) .
341 The current limit is the one normally used, although the user is permitted
342 to increase the current limit to the maximum limit.
343 The maximum and current limits may be specified individually by appending a
344 .Va \-max
346 .Va \-cur
347 to the capability name (e.g.,
348 .Va openfiles-max
350 .Va openfiles-cur ) .
353 will never define capabilities which start with
354 .Li x-
356 .Li X- ,
357 these are reserved for external use (unless included through contributed
358 software).
360 The argument types are defined as:
361 .Bl -tag -width programxx
363 .It envlist
364 A comma-separated list of environment variables of the form
365 .Ev variable Ns No = Ns value .
366 If no value is specified, the
367 .Sq =
368 is optional.
370 .Li ~
371 in the path name is expanded to the user's home directory
372 if it is at the end of a string or is followed by a slash
373 .Pq Sq /
374 or the user's login name.
376 .Li $
377 in the path name is expanded to the user's login name.
379 .It file
380 Path name to a text file.
382 .It list
383 A comma-separated list of values.
385 .It number
386 A number.
387 A leading
388 .Li 0x
389 implies the number is expressed in hexadecimal.
390 A leading
391 .Li 0
392 implies the number is expressed in octal.
393 Any other number is treated as decimal.
395 .It path
396 A space-separated list of path names.
397 Login name and directory are substituted as for
398 .Em envlist .
399 Additionally, a
400 .Li ~
401 is only expanded at the beginning of a path name.
403 .It program
404 A path name to program.
406 .It size
408 .Va number
409 which expresses a size.
410 By default, the size is specified in bytes.
411 It may have a trailing
412 .Li b ,
413 .Li k ,
414 .Li m ,
415 .Li g
417 .Li t
418 to indicate that the value is in 512-byte blocks,
419 kilobytes, megabytes, gigabytes, or terrabytes, respectively.
421 .It time
422 A time in seconds.
423 A time may be expressed as a series of numbers which are added together.
424 Each number may have a trailing character to represent time units:
425 .Bl -tag -width xxx
427 .It y
428 Indicates a number of 365 day years.
430 .It w
431 Indicates a number of 7 day weeks.
433 .It d
434 Indicates a number of 24 hour days.
436 .It h
437 Indicates a number of 60 minute hours.
439 .It m
440 Indicates a number of 60 second minutes.
442 .It s
443 Indicates a number of seconds.
446 For example, to indicate 1 and 1/2 hours, the following string could be used:
447 .Li 1h30m .
450 .Sh AUTHENTICATION
452 uses BSD Authentication, which is made up of a variety of
453 authentication styles.
454 The authentication styles currently provided are:
455 .Bl -tag -width krb5-or-pwdxx
457 .It Li activ
458 Authenticate using an ActivCard token.
460 .Xr login_activ 8 .
462 .It Li chpass
463 Change user's password.
465 .Xr login_chpass 8 .
467 .It Li crypto
468 Authenticate using a CRYPTOCard token.
470 .Xr login_crypto 8 .
472 .It Li krb5
473 Request a password and use it to request a ticket from the kerberos 5 server.
475 .Xr login_krb5 8 .
477 .It Li krb5-or-pwd
478 Request a password and first try the
479 .Li krb5
480 authentication style and if that fails use the same password with the
481 .Li passwd
482 authentication style.
484 .Xr login_krb5-or-pwd 8 .
486 .It Li lchpass
487 Change user's local password.
489 .Xr login_lchpass 8 .
491 .It Li passwd
492 Request a password and check it against the password in the master.passwd file.
494 .Xr login_passwd 8 .
496 .It Li radius
497 Normally linked to another authentication type, contact the radius server
498 to do authentication.
500 .Xr login_radius 8 .
502 .It Li reject
503 Request a password and reject any request.
505 .Xr login_reject 8 .
507 .It Li skey
508 Send a challenge and request a response, checking it
509 with S/Key (tm) authentication.
511 .Xr login_skey 8 .
513 .It Li snk
514 Authenticate using a SecureNet Key token.
516 .Xr login_snk 8 .
518 .It Li token
519 Authenticate using a generic X9.9 token.
521 .Xr login_token 8 .
523 .It Li yubikey
524 Authenticate using a Yubico YubiKey token.
526 .Xr login_yubikey 8 .
529 Local authentication styles may be added by creating a login script
530 for the style (see below).
531 To prevent collisions with future official BSD
532 Authentication style names, all local style names should start with a dash (-).
533 Current plans are for all official BSD Authentication style names to begin
534 with a lower case alphabetic character.
535 For example, if you have a new style you refer to as
536 .Li slick
537 then you should create an authentication script named
538 .Pa /usr/libexec/auth/login_-slick
539 using the style name
540 .Li -slick .
541 When logging in via the
542 .Xr login 1
543 program, the syntax
544 .Ar user Ns Li :-slick
545 would be used.
547 Authentication requires several pieces of information:
548 .Bl -tag -width kerberosxx
550 .It Ar class
551 The login class being used.
552 .It Ar service
553 The type of service requesting authentication.
554 The service type is used to determine what information the authentication
555 program can provide to the user and what information the user can provide
556 to the authentication program.
558 The service type
559 .Li login
560 is appropriate for most situations.
561 Two other service types,
562 .Li challenge
564 .Li response ,
565 are provided for use by programs like
566 .Xr ftpd 8
568 .Xr radiusd .
569 If no service type is specified,
570 .Li login
571 is used.
572 .It Ar style
573 The authentication style being used.
574 .It Ar type
575 The authentication type,
576 used to determine the available authentication styles.
577 .It Ar username
578 The name of the user to authenticate.
579 The name may contain an instance, e.g.\&
580 .Dq user/root ,
581 as used by Kerberos authentication.
582 If the authentication style being used does not support such instances,
583 the request will fail.
586 The program requesting authentication must specify a username and an
587 authentication style.
588 (For example,
589 .Xr login 1
590 requests a username from the user.
591 Users may enter usernames of the form
592 .Dq user:style
593 to optionally specify the authentication style.)
594 The requesting program may also specify the type of authentication
595 that will be done.
596 Most programs will only have a single type, if any at all, i.e.,
597 .Xr ftpd 8
598 will always request the
599 .Li ftp
600 type authentication, and
601 .Xr su 1
602 will always request the
603 .Li su
604 type authentication.
606 .Xr login 1
607 utility is special in that it may select an authentication type based
608 on information found in the
609 .Pa /etc/ttys
610 file for the appropriate tty (see
611 .Xr ttys 5 ) .
613 The class to be used is normally determined by the
614 .Li class
615 field in the password file (see
616 .Xr passwd 5 ) .
618 The class is used to look up a corresponding entry in the
619 .Pa login.conf
620 file.
621 If an authentication type is defined and a value for
622 .Li auth- Ns Ar type
623 exists in that entry,
624 it will be used as a list of potential authentication styles.
625 If an authentication type is not defined, or
626 .Li auth- Ns Ar type
627 is not specified for the class,
628 the value of
629 .Li auth
630 is used as the list of available authentication styles.
632 If the user did not specify an authentication style the first style
633 in the list of available styles is used.
634 If the user did specify an authentication style and the style is in the
635 list of available styles it will be used, otherwise the request is
636 rejected.
638 For any given style, the program
639 .Pa /usr/libexec/auth/login_ Ns Va style
640 is used to perform the authentication.
641 The synopsis of this program is:
643 .Li /usr/libexec/auth/login_ Ns Va style
644 .Op Fl v Va name=value
645 .Op Fl s Va service
646 .Va username class
649 .Fl v
650 option is used to specify arbitrary information to the authentication
651 programs.
652 Any number of
653 .Fl v
654 options may be used.
656 .Xr login 1
657 program provides the following through the
658 .Fl v
659 option:
660 .Bl -tag -width remote_addrxxx
661 .It Li auth_type
662 The type of authentication to use.
663 .It Li fqdn
664 The hostname provided to login by the
665 .Fl h
666 option.
667 .It Li hostname
668 The name
669 .Xr login 1
670 will place in the utmp file
671 for the remote hostname.
672 .It Li local_addr
673 The local IP address given to
674 .Xr login 1
675 by the
676 .Fl L
677 option.
678 .It Li lastchance
679 Set to
680 .Dq yes
681 when a user's password has expired but the user is being given one last
682 chance to login and update the password.
683 .It Li login
684 This is a new login session (as opposed to a simple identity check).
685 .It Li remote_addr
686 The remote IP address given to
687 .Xr login 1
688 by the
689 .Fl R
690 option.
691 .It Li style
692 The style of authentication used for this user
693 (see approval scripts below).
697 .Xr su 1
698 program provides the following through the
699 .Fl v
700 option:
701 .Bl -tag -width remote_addrxxx
702 .It Li invokinguser
703 Set to the name of the user being authenticated; used for Kerberos
704 authentication.
705 .It Li wheel
706 Set to either
707 .Dq yes
709 .Dq no
710 to indicate if the user is in group wheel when they are trying to become root.
711 Some authentication types require the user to be in group wheel when using
713 .Xr su 1
714 program to become super user.
717 When the authentication program is executed,
718 the environment will only contain the values
719 .Ev PATH=/bin:/usr/bin
721 .Ev SHELL=/bin/sh .
722 File descriptor 3 will be open for reading and writing.
723 The authentication program should write one or more of the following
724 strings to this file descriptor:
725 .Bl -tag -width authorize
727 .It Li authorize
728 The user has been authorized.
730 .It Li authorize secure
731 The user has been authorized and root should be allowed to
732 login even if this is not a secure terminal.
733 This should only be sent by authentication styles that are secure
734 over insecure lines.
736 .It Li reject
737 Authorization is rejected.
738 This overrides any indication that the user was authorized (though
739 one would question the wisdom in sending both a
740 .Va reject
741 and an
742 .Va authorize
743 command).
745 .It Li reject challenge
746 Authorization was rejected and a challenge has been made available
747 via the value
748 .Li challenge .
750 .It Li reject silent
751 Authorization is rejected, but no error messages should be generated.
753 .It Li remove Va file
754 If the login session fails for any reason, remove
755 .Va file
756 before termination (a kerberos ticket file, for example).
758 .It Li setenv Va name Va value
759 If the login session succeeds, the environment variable
760 .Va name
761 should be set to the specified
762 .Va value .
764 .It Li unsetenv Va name
765 If the login session succeeds, the environment variable
766 .Va name
767 should be removed.
769 .It Li value Va name Va value
770 Set the internal variable
771 .Va name
772 to the specified
773 .Va value .
775 .Va value
776 should only contain printable characters.
777 Several \e sequences may be used to introduce non printing characters.
778 These are:
779 .Bl -tag -width indent
780 .It Li \en
781 A newline.
782 .It Li \er
783 A carriage return.
784 .It Li \et
785 A tab.
786 .It Li \e Ns Va xxx
787 The character represented by the octal value
788 .Va xxx .
789 The value may be one, two, or three octal digits.
790 .It Li \e Ns Va c
791 The string is replaced by the value of
792 .Va c .
793 This allows quoting an initial space or the \e character itself.
796 The following values are currently defined:
797 .Bl -tag -width indent
798 .It Li challenge
799 See section on challenges below.
800 .It Li errormsg
801 If set, the value is the reason authentication failed.
802 The calling program may choose to display this when rejecting the user, but
803 display is not required.
807 In order for authentication to be successful,
808 the authentication program must exit with a value of 0 as well
809 as provide an
810 .Li authorize
812 .Li "authorize root"
813 statement on file descriptor 3.
815 An authentication program must not assume it will be called as root,
816 nor must it assume it will not be called as root.
817 If it needs special permissions to access files it should be setuid or
818 setgid to the appropriate user/group.
820 .Xr chmod 1 .
821 .Sh CHALLENGES
822 When an authentication program is called with a service of
823 .Li challenge
824 it should do one of three things:
826 If this style of authentication supports challenge response
827 it should set the internal variable
828 .Li challenge
829 to be the appropriate challenge for the user.
830 This is done by the
831 .Li value
832 command listed above.
833 The program should also issue a
834 .Li reject challenge
835 and then exit with a 0 status.
836 See the section on responses below.
838 If this style of authentication does not support challenge response,
839 but does support the
840 .Li response
841 service (described below) it should issue
842 .Li reject silent
843 and then exit with a 0 status.
845 If this style of authentication does not support the
846 .Li response
847 service it should simply fail, complaining about an unknown service type.
848 It should exit with a non-zero status.
849 .Sh RESPONSES
850 When an authentication program is called with a service of
851 .Li response ,
852 and this style supports this mode of authentication,
853 it should read two null terminated strings from file descriptor 3.
854 The first string is a challenge that was issued to the user
855 (obtained from the
856 .Li challenge
857 service above).
858 The second string is the response the user gave (i.e., the password).
859 If the response is correct for the specified challenge, the authentication
860 should be accepted, else it should be rejected.
861 It is possible for the challenge to be any empty string, which implies
862 the calling program did first obtain a challenge prior to getting a
863 response from the user.
864 Not all authentication styles support empty challenges.
865 .Sh APPROVAL
866 An approval program has the synopsis of:
867 .Bd -filled -offset indent
868 .Va approve
869 .Op Fl v Ar name=value
870 .Va username class service
873 Just as with an authentication program, file descriptor 3 will be
874 open for writing when the approval program is executed.
876 .Fl v
877 option is the same as in the authentication program.
878 Unlike an authentication program,
879 the approval program need not explicitly send an
880 .Li authorize
882 .Li "authorize root"
883 statement,
884 it only need exit with a value of 0 or non-zero.
885 An exit value of 0 is equivalent to an
886 .Li authorize
887 statement, and non-zero to a
888 .Li reject
889 statement.
890 This allows for simple programs which have no information to provide
891 other than approval or denial.
892 .Sh CLASSIFICATION
893 A classify program has the synopsis of:
894 .Bd -filled -offset indent
895 .Va classify
896 .Op Fl v Ar name=value
897 .Op Fl f
898 .Op user
902 .Xr login 1
903 for a description of the
904 .Fl f ,
905 option.
907 .Fl v
908 option is the same as for the authentication programs.
910 .Va user
911 is the username passed to
912 .Xr login 1
913 login, if any.
915 The typical job of the classify program is to determine what authentication
916 type should actually be used, presumably based on the remote IP address.
917 It might also re-specify the hostname to be included in the
918 .Xr utmp 5
919 file, reject the login attempt outright,
920 or even print an additional login banner (e.g.,
921 .Pa /etc/issue ) .
923 The classify entry is only valid for the
924 .Li default
925 class as it is used prior to knowing who the user is.
926 The classify script may pass environment variables or other commands
927 back to
928 .Xr login 1
929 on file descriptor 3, just as an authentication program does.
930 The two variables
931 .Nm AUTH_TYPE
933 .Nm REMOTE_NAME
934 are used to specify a new authentication type (the type must have the
935 form
936 .Li auth- Ns Ar type )
937 and override the
938 .Fl h
939 option to login, respectively.
940 .Sh SEE ALSO
941 .Xr cap_mkdb 1 ,
942 .Xr login 1 ,
943 .Xr authenticate 3 ,
944 .Xr bsd_auth 3 ,
945 .Xr getcap 3 ,
946 .Xr login_cap 3 ,
947 .Xr passwd 5 ,
948 .Xr ttys 5 ,
949 .Xr ftpd 8