1 <?xml version="1.0" encoding="UTF-8"?>
3 Copyright (c) 1991 - 1993, Julianne Frances Haugh
4 Copyright (c) 1991 - 1993, Chip Rosenthal
5 Copyright (c) 2007 - 2009, Nicolas François
8 Redistribution and use in source and binary forms, with or without
9 modification, are permitted provided that the following conditions
11 1. Redistributions of source code must retain the above copyright
12 notice, this list of conditions and the following disclaimer.
13 2. Redistributions in binary form must reproduce the above copyright
14 notice, this list of conditions and the following disclaimer in the
15 documentation and/or other materials provided with the distribution.
16 3. The name of the copyright holders or contributors may not be used to
17 endorse or promote products derived from this software without
18 specific prior written permission.
20 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
23 PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.5//EN"
33 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
34 <!ENTITY CHFN_AUTH SYSTEM "login.defs.d/CHFN_AUTH.xml">
35 <!ENTITY CHFN_RESTRICT SYSTEM "login.defs.d/CHFN_RESTRICT.xml">
36 <!ENTITY CHSH_AUTH SYSTEM "login.defs.d/CHSH_AUTH.xml">
37 <!ENTITY CONSOLE SYSTEM "login.defs.d/CONSOLE.xml">
38 <!ENTITY CONSOLE_GROUPS SYSTEM "login.defs.d/CONSOLE_GROUPS.xml">
39 <!ENTITY CREATE_HOME SYSTEM "login.defs.d/CREATE_HOME.xml">
40 <!ENTITY DEFAULT_HOME SYSTEM "login.defs.d/DEFAULT_HOME.xml">
41 <!ENTITY ENCRYPT_METHOD SYSTEM "login.defs.d/ENCRYPT_METHOD.xml">
42 <!ENTITY ENV_HZ SYSTEM "login.defs.d/ENV_HZ.xml">
43 <!ENTITY ENV_PATH SYSTEM "login.defs.d/ENV_PATH.xml">
44 <!ENTITY ENV_SUPATH SYSTEM "login.defs.d/ENV_SUPATH.xml">
45 <!ENTITY ENV_TZ SYSTEM "login.defs.d/ENV_TZ.xml">
46 <!ENTITY ENVIRON_FILE SYSTEM "login.defs.d/ENVIRON_FILE.xml">
47 <!ENTITY ERASECHAR SYSTEM "login.defs.d/ERASECHAR.xml">
48 <!ENTITY FAIL_DELAY SYSTEM "login.defs.d/FAIL_DELAY.xml">
49 <!ENTITY FAILLOG_ENAB SYSTEM "login.defs.d/FAILLOG_ENAB.xml">
50 <!ENTITY FAKE_SHELL SYSTEM "login.defs.d/FAKE_SHELL.xml">
51 <!ENTITY FTMP_FILE SYSTEM "login.defs.d/FTMP_FILE.xml">
52 <!ENTITY GID_MAX SYSTEM "login.defs.d/GID_MAX.xml">
53 <!ENTITY HUSHLOGIN_FILE SYSTEM "login.defs.d/HUSHLOGIN_FILE.xml">
54 <!ENTITY ISSUE_FILE SYSTEM "login.defs.d/ISSUE_FILE.xml">
55 <!ENTITY KILLCHAR SYSTEM "login.defs.d/KILLCHAR.xml">
56 <!ENTITY LASTLOG_ENAB SYSTEM "login.defs.d/LASTLOG_ENAB.xml">
57 <!ENTITY LASTLOG_UID_MAX SYSTEM "login.defs.d/LASTLOG_UID_MAX.xml">
58 <!ENTITY LOG_OK_LOGINS SYSTEM "login.defs.d/LOG_OK_LOGINS.xml">
59 <!ENTITY LOG_UNKFAIL_ENAB SYSTEM "login.defs.d/LOG_UNKFAIL_ENAB.xml">
60 <!ENTITY LOGIN_RETRIES SYSTEM "login.defs.d/LOGIN_RETRIES.xml">
61 <!ENTITY LOGIN_STRING SYSTEM "login.defs.d/LOGIN_STRING.xml">
62 <!ENTITY LOGIN_TIMEOUT SYSTEM "login.defs.d/LOGIN_TIMEOUT.xml">
63 <!ENTITY MAIL_CHECK_ENAB SYSTEM "login.defs.d/MAIL_CHECK_ENAB.xml">
64 <!ENTITY MAIL_DIR SYSTEM "login.defs.d/MAIL_DIR.xml">
65 <!ENTITY MAX_MEMBERS_PER_GROUP SYSTEM "login.defs.d/MAX_MEMBERS_PER_GROUP.xml">
66 <!ENTITY MD5_CRYPT_ENAB SYSTEM "login.defs.d/MD5_CRYPT_ENAB.xml">
67 <!ENTITY MOTD_FILE SYSTEM "login.defs.d/MOTD_FILE.xml">
68 <!ENTITY NOLOGINS_FILE SYSTEM "login.defs.d/NOLOGINS_FILE.xml">
69 <!ENTITY OBSCURE_CHECKS_ENAB SYSTEM "login.defs.d/OBSCURE_CHECKS_ENAB.xml">
70 <!ENTITY PASS_ALWAYS_WARN SYSTEM "login.defs.d/PASS_ALWAYS_WARN.xml">
71 <!ENTITY PASS_CHANGE_TRIES SYSTEM "login.defs.d/PASS_CHANGE_TRIES.xml">
72 <!ENTITY PASS_MAX_LEN SYSTEM "login.defs.d/PASS_MAX_LEN.xml">
73 <!ENTITY PASS_MAX_DAYS SYSTEM "login.defs.d/PASS_MAX_DAYS.xml">
74 <!ENTITY PASS_MIN_DAYS SYSTEM "login.defs.d/PASS_MIN_DAYS.xml">
75 <!ENTITY PASS_WARN_AGE SYSTEM "login.defs.d/PASS_WARN_AGE.xml">
76 <!ENTITY PORTTIME_CHECKS_ENAB SYSTEM "login.defs.d/PORTTIME_CHECKS_ENAB.xml">
77 <!ENTITY QUOTAS_ENAB SYSTEM "login.defs.d/QUOTAS_ENAB.xml">
78 <!ENTITY SHA_CRYPT_MIN_ROUNDS SYSTEM "login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml">
79 <!ENTITY SULOG_FILE SYSTEM "login.defs.d/SULOG_FILE.xml">
80 <!ENTITY SU_NAME SYSTEM "login.defs.d/SU_NAME.xml">
81 <!ENTITY SU_WHEEL_ONLY SYSTEM "login.defs.d/SU_WHEEL_ONLY.xml">
82 <!ENTITY SUB_GID_COUNT SYSTEM "login.defs.d/SUB_GID_COUNT.xml">
83 <!ENTITY SUB_UID_COUNT SYSTEM "login.defs.d/SUB_UID_COUNT.xml">
84 <!ENTITY SYS_GID_MAX SYSTEM "login.defs.d/SYS_GID_MAX.xml">
85 <!ENTITY SYSLOG_SG_ENAB SYSTEM "login.defs.d/SYSLOG_SG_ENAB.xml">
86 <!ENTITY SYSLOG_SU_ENAB SYSTEM "login.defs.d/SYSLOG_SU_ENAB.xml">
87 <!ENTITY SYS_UID_MAX SYSTEM "login.defs.d/SYS_UID_MAX.xml">
88 <!ENTITY TCB_AUTH_GROUP SYSTEM "login.defs.d/TCB_AUTH_GROUP.xml">
89 <!ENTITY TCB_SYMLINKS SYSTEM "login.defs.d/TCB_SYMLINKS.xml">
90 <!ENTITY TTYGROUP SYSTEM "login.defs.d/TTYGROUP.xml">
91 <!ENTITY TTYTYPE_FILE SYSTEM "login.defs.d/TTYTYPE_FILE.xml">
92 <!ENTITY UID_MAX SYSTEM "login.defs.d/UID_MAX.xml">
93 <!ENTITY ULIMIT SYSTEM "login.defs.d/ULIMIT.xml">
94 <!ENTITY UMASK SYSTEM "login.defs.d/UMASK.xml">
95 <!ENTITY USERDEL_CMD SYSTEM "login.defs.d/USERDEL_CMD.xml">
96 <!ENTITY USERGROUPS_ENAB SYSTEM "login.defs.d/USERGROUPS_ENAB.xml">
97 <!ENTITY USE_TCB SYSTEM "login.defs.d/USE_TCB.xml">
98 <!-- SHADOW-CONFIG-HERE -->
101 <refentry id='login.defs.5'>
105 <firstname>Julianne Frances</firstname>
106 <surname>Haugh</surname>
107 <contrib>Creation, 1991</contrib>
110 <firstname>Thomas</firstname>
111 <surname>Kłoczko</surname>
112 <email>kloczek@pld.org.pl</email>
113 <contrib>shadow-utils maintainer, 2000 - 2007</contrib>
116 <firstname>Nicolas</firstname>
117 <surname>François</surname>
118 <email>nicolas.francois@centraliens.net</email>
119 <contrib>shadow-utils maintainer, 2007 - now</contrib>
123 <refentrytitle>login.defs</refentrytitle>
124 <manvolnum>5</manvolnum>
125 <refmiscinfo class="sectdesc">File Formats and Conversions</refmiscinfo>
126 <refmiscinfo class="source">shadow-utils</refmiscinfo>
127 <refmiscinfo class="version">&SHADOW_UTILS_VERSION;</refmiscinfo>
129 <refnamediv id='name'>
130 <refname>login.defs</refname>
131 <refpurpose>shadow password suite configuration</refpurpose>
134 <refsect1 id='description'>
135 <title>DESCRIPTION</title>
137 The <filename>/etc/login.defs</filename> file defines the
138 site-specific configuration for the shadow password suite. This file
139 is required. Absence of this file will not prevent system operation,
140 but will probably result in undesirable operation.
144 This file is a readable text file, each line of the file describing
145 one configuration parameter. The lines consist of a configuration name
146 and value, separated by whitespace. Blank lines and comment lines are
147 ignored. Comments are introduced with a "#" pound sign and the pound
148 sign must be the first non-white character of the line.
152 Parameter values may be of four types: strings, booleans, numbers, and
153 long numbers. A string is comprised of any printable characters. A
154 boolean should be either the value <replaceable>yes</replaceable> or
155 <replaceable>no</replaceable>. An undefined boolean
156 parameter or one with a value other than these will be given a
157 <replaceable>no</replaceable>
158 value. Numbers (both regular and long) may be either decimal values,
159 octal values (precede the value with <replaceable>0</replaceable>) or
161 (precede the value with <replaceable>0x</replaceable>).
162 The maximum value of the regular and
163 long numeric parameters is machine-dependent.
166 <para>The following configuration items are provided:</para>
168 <variablelist remap='IP'>
187 &GID_MAX; <!-- documents also GID_MIN -->
200 &MAX_MEMBERS_PER_GROUP;
204 &OBSCURE_CHECKS_ENAB;
211 <option>PASS_MAX_DAYS</option>, <option>PASS_MIN_DAYS</option> and
212 <option>PASS_WARN_AGE</option> are only used at the
213 time of account creation. Any changes to these settings won't affect
216 &PASS_MAX_LEN; <!-- documents also PASS_MIN_LEN -->
217 &PORTTIME_CHECKS_ENAB;
219 &SHA_CRYPT_MIN_ROUNDS; <!-- documents also SHA_CRYPT_MAX_ROUNDS -->
223 &SUB_GID_COUNT; <!-- documents also SUB_GID_MIN SUB_GID_MAX -->
224 &SUB_UID_COUNT; <!-- documents also SUB_UID_MIN SUB_UID_MAX -->
225 &SYS_GID_MAX; <!-- documents also SYS_GID_MIN -->
226 &SYS_UID_MAX; <!-- documents also SYS_UID_MIN -->
233 &UID_MAX; <!-- documents also UID_MIN -->
242 <refsect1 id='cross_references'>
243 <title>CROSS REFERENCES</title>
245 The following cross references show which programs in the shadow
246 password suite use which parameters.
249 <variablelist remap='IP'>
250 <varlistentry condition="tcb">
260 <phrase condition="no_pam">CHFN_AUTH</phrase>
262 <phrase condition="no_pam">LOGIN_STRING</phrase>
267 <term>chgpasswd</term>
270 ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB
271 <phrase condition="sha_crypt">SHA_CRYPT_MAX_ROUNDS
272 SHA_CRYPT_MIN_ROUNDS</phrase>
277 <term>chpasswd</term>
280 <phrase condition="no_pam">ENCRYPT_METHOD
281 MD5_CRYPT_ENAB </phrase>
282 <phrase condition="sha_crypt">SHA_CRYPT_MAX_ROUNDS
283 SHA_CRYPT_MIN_ROUNDS</phrase>
287 <varlistentry condition="no_pam">
291 CHSH_AUTH LOGIN_STRING
295 <!-- expiry: no variables (CONSOLE_GROUPS linked, but not used) -->
296 <!-- faillog: no variables -->
301 ENCRYPT_METHOD MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB
302 <phrase condition="sha_crypt">SHA_CRYPT_MAX_ROUNDS
303 SHA_CRYPT_MIN_ROUNDS</phrase>
308 <term>groupadd</term>
311 GID_MAX GID_MIN MAX_MEMBERS_PER_GROUP
312 SYS_GID_MAX SYS_GID_MIN
317 <term>groupdel</term>
319 <para>MAX_MEMBERS_PER_GROUP</para>
323 <term>groupmems</term>
325 <para>MAX_MEMBERS_PER_GROUP</para>
329 <term>groupmod</term>
331 <para>MAX_MEMBERS_PER_GROUP</para>
334 <!-- groups: no variables -->
338 <para>MAX_MEMBERS_PER_GROUP</para>
344 <para>MAX_MEMBERS_PER_GROUP</para>
348 <term>grpunconv</term>
350 <para>MAX_MEMBERS_PER_GROUP</para>
353 <!-- id: no variables -->
357 <para>LASTLOG_UID_MAX</para>
364 <phrase condition="no_pam">CONSOLE</phrase>
365 CONSOLE_GROUPS DEFAULT_HOME
366 <phrase condition="no_pam">ENV_HZ ENV_PATH ENV_SUPATH
367 ENV_TZ ENVIRON_FILE</phrase>
369 <phrase condition="no_pam">FAILLOG_ENAB</phrase>
371 <phrase condition="no_pam">FTMP_FILE</phrase>
373 <phrase condition="no_pam">ISSUE_FILE</phrase>
375 <phrase condition="no_pam">LASTLOG_ENAB LASTLOG_UID_MAX</phrase>
377 <phrase condition="no_pam">LOGIN_STRING</phrase>
378 LOGIN_TIMEOUT LOG_OK_LOGINS LOG_UNKFAIL_ENAB
379 <phrase condition="no_pam">MAIL_CHECK_ENAB MAIL_DIR MAIL_FILE
380 MOTD_FILE NOLOGINS_FILE PORTTIME_CHECKS_ENAB
382 TTYGROUP TTYPERM TTYTYPE_FILE
383 <phrase condition="no_pam">ULIMIT UMASK</phrase>
388 <!-- logoutd: no variables -->
390 <term>newgrp / sg</term>
398 <term>newusers</term>
403 MAX_MEMBERS_PER_GROUP MD5_CRYPT_ENAB
404 PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
405 <phrase condition="sha_crypt">SHA_CRYPT_MAX_ROUNDS
406 SHA_CRYPT_MIN_ROUNDS</phrase>
407 SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN
408 SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN
409 SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN
414 <!-- nologin: no variables -->
415 <varlistentry condition="no_pam">
419 ENCRYPT_METHOD MD5_CRYPT_ENAB OBSCURE_CHECKS_ENAB
420 PASS_ALWAYS_WARN PASS_CHANGE_TRIES PASS_MAX_LEN PASS_MIN_LEN
421 <phrase condition="sha_crypt">SHA_CRYPT_MAX_ROUNDS
422 SHA_CRYPT_MIN_ROUNDS</phrase>
430 PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
431 <phrase condition="tcb">TCB_AUTH_GROUP TCB_SYMLINKS USE_TCB</phrase>
439 PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
440 <phrase condition="tcb">USE_TCB</phrase>
444 <varlistentry condition="tcb">
445 <term>pwunconv</term>
448 <phrase condition="tcb">USE_TCB</phrase>
456 <phrase condition="no_pam">CONSOLE</phrase>
457 CONSOLE_GROUPS DEFAULT_HOME
458 <phrase condition="no_pam">ENV_HZ ENVIRON_FILE</phrase>
460 <phrase condition="no_pam">ENV_TZ LOGIN_STRING MAIL_CHECK_ENAB
461 MAIL_DIR MAIL_FILE QUOTAS_ENAB</phrase>
463 <phrase condition="no_pam">SU_WHEEL_ONLY</phrase>
465 <phrase condition="no_pam">USERGROUPS_ENAB</phrase>
474 <phrase condition="no_pam">ENV_TZ</phrase>
485 MAIL_DIR MAX_MEMBERS_PER_GROUP
486 PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE
487 SUB_GID_COUNT SUB_GID_MAX SUB_GID_MIN
488 SUB_UID_COUNT SUB_UID_MAX SUB_UID_MIN
489 SYS_GID_MAX SYS_GID_MIN SYS_UID_MAX SYS_UID_MIN UID_MAX UID_MIN
491 <phrase condition="tcb">TCB_AUTH_GROUP TCB_SYMLINK USE_TCB</phrase>
499 MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP USERDEL_CMD
501 <phrase condition="tcb">TCB_SYMLINKS USE_TCB</phrase>
510 MAIL_DIR MAIL_FILE MAX_MEMBERS_PER_GROUP
511 <phrase condition="tcb">TCB_SYMLINKS USE_TCB</phrase>
515 <varlistentry condition="tcb">
519 <phrase condition="tcb">USE_TCB</phrase>
526 <refsect1 id='bugs' condition="pam">
529 Much of the functionality that used to be provided by the shadow
530 password suite is now handled by PAM. Thus,
531 <filename>/etc/login.defs</filename> is no longer used by <citerefentry>
532 <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
533 </citerefentry>, or less used by <citerefentry>
534 <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
535 </citerefentry>, and <citerefentry>
536 <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
537 </citerefentry>. Please refer to the corresponding PAM configuration
542 <refsect1 id='see_also'>
543 <title>SEE ALSO</title>
546 <refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
549 <refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
552 <refentrytitle>su</refentrytitle><manvolnum>1</manvolnum>
555 <refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
558 <refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
561 <refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum>