login.defs 5 File Formats and Conversions login.defs shadow password suite configuration DESCRIPTION The /etc/login.defs file defines the site-specific configuration for the shadow password suite. This file is required. Absence of this file will not prevent system operation, but will probably result in undesirable operation. This file is a readable text file, each line of the file describing one configuration parameter. The lines consist of a configuration name and value, separated by whitespace. Blank lines and comment lines are ignored. Comments are introduced with a "#" pound sign and the pound sign must be the first non-white character of the line. Parameter values may be of four types: strings, booleans, numbers, and long numbers. A string is comprised of any printable characters. A boolean should be either the value "yes" or "no". An undefined boolean parameter or one with a value other than these will be given a "no" value. Numbers (both regular and long) may be either decimal values, octal values (precede the value with "0") or hexadecimal values (precede the value with "0x"). The maximum value of the regular and long numeric parameters is machine-dependent. The following configuration items are provided: CHFN_AUTH (boolean) If yes, the chfn and chsh programs will require authentication before making any changes, unless run by the superuser. CHFN_RESTRICT (string) This parameter specifies which values in the gecos field of the /etc/passwd file may be changed by regular users using the chfn program. It can be any combination of letters f ,r, w, h, for Full name, Room number, Work phone, and Home phone, respectively. For backward compatibility, "yes" is equivalent to "rwh" and "no" is equivalent to "frwh". If not specified, only the superuser can make any changes. The most restrictive setting is better achieved by not installing chfn SUID. ENCRYPT_METHOD (string) If set to MD5, the MD5-based algorithm will be used for encrypting passwords. If set to SHA256, the SHA256-based algorithm will be used for encrypting passwords. If set to SHA512, the SHA512-based algorithm will be used for encrypting passwords. If set to DES, the DES-based algorithm will be used for encrypting passwords. It is the default algorithm. Note: this parameter overrides the MD5_CRYPT_ENAB option. Note: if you use PAM, it is recommended to set this variable consistently with the PAM modules configuration. GID_MAX (number) GID_MIN (number) Range of group IDs to choose from for the useradd and groupadd programs. MAIL_DIR (string) The mail spool directory. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted. If not specified, a compile-time default is used. MD5_CRYPT_ENAB (boolean) Indicate if passwords must be encrypted using the MD5-based algorithm. If set to "yes", new passwords will be encrypted using the MD5-based algorithm compatible with the one used by recent releases of FreeBSD. It supports passwords of unlimited length and longer salt strings. Set to "no" if you need to copy encrypted passwords to other systems which don't understand the new algorithm. Default is "no". This variable is deprecated. You should use ENCRYPT_METHOD. Note: if you use PAM, it is recommended to set this variable consistently with the PAM modules configuration. PASS_MAX_DAYS (number) The maximum number of days a password may be used. If the password is older than this, a password change will be forced. If not specified, -1 will be assumed (which disables the restriction). PASS_MIN_DAYS (number) The minimum number of days allowed between password changes. Any password changes attempted sooner than this will be rejected. If not specified, -1 will be assumed (which disables the restriction). PASS_WARN_AGE (number) The number of days warning given before a password expires. A zero means warning is given only upon the day of expiration, a negative value means no warning is given. If not specified, no warning will be provided. PASS_MAX_DAYS, PASS_MIN_DAYS and PASS_WARN_AGE are only used at the time of account creation. Any changes to these settings won't affect existing accounts. SHA_CRYPT_MIN_ROUNDS (number) SHA_CRYPT_MAX_ROUNDS (number) When ENCRYPT_METHOD is set to SHA256 or SHA512, this defines the number of SHA rounds used by the encryption algorithm. With a lot of rounds, it is more difficult to brute forcing the password. But note also that more CPU resources will be needed to authenticate users. If not specified, the libc will choose the default number of rounds (5000). The values must be inside the 1000-999999999 range. If only one of the MIN or MAX values is set, then this value will be used. If MIN > MAX, the highest value will be used. UID_MAX (number) UID_MIN (number) Range of user IDs to choose from for the useradd program. UMASK (number) The permission mask is initialized to this value. If not specified, the permission mask will be initialized to 022. USERDEL_CMD (string) If defined, this command is run when removing a user. It should remove any at/cron/print jobs etc. owned by the user to be removed (passed as the first argument). CROSS REFERENCE The following cross reference shows which programs in the shadow password suite use which parameters. chfn CHFN_AUTH CHFN_RESTRICT chsh CHFN_AUTH groupadd GID_MAX GID_MIN newusers PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UMASK pwconv PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE useradd GID_MAX GID_MIN PASS_MAX_DAYS PASS_MIN_DAYS PASS_WARN_AGE UID_MAX UID_MIN UMASK userdel MAIL_DIR USERDEL_CMD usermod MAIL_DIR BUGS Much of the functionality that used to be provided by the shadow password suite is now handled by PAM. Thus, /etc/login.defs is no longer used by programs such as: login1 , passwd1 , su1 . Please refer to the corresponding PAM configuration files instead. SEE ALSO login1 , passwd1 , su1 , passwd5 , shadow5 , pam8 .