NAME | SYNOPSIS | DESCRIPTION | OPTIONS | OPERANDS | ENVIRONMENT VARIABLES | EXIT STATUS | FILES | ATTRIBUTES | SUMMARY OF TRUSTED SOLARIS CHANGES | SEE ALSO
The passwd command changes the password or lists password attributes associated with the user's login name. Privileged users may use passwd to install or change passwords and attributes associated with any login name.
When used to change a password, passwd prompts everyone for their old password, if any. It then prompts for the new password twice. When the old password is entered, passwd checks to see if it has "aged" sufficiently. If "aging" is insufficient, passwd terminates; see pwconv(1M), nistbladm(1), and shadow(4) for additional information. The pwconv command creates and updates /etc/shadow with information from /etc/passwd. pwconv relies on a special value of 'x' in the password field of /etc/passwd. This value of 'x' indicates that the password for the user is already in /etc/shadow and should not be modified.
When NIS or NIS+ is in effect on a system, passwd changes the NIS or NIS+ database. The NIS or NIS+ password may be different from the password on the local machine. If NIS or NIS+ is running, use passwd -r to change password information on the local machine.
The pwconv command creates and updates /etc/shadow with information from /etc/passwd. pwconv relies on a special value of 'x' in the password field of /etc/passwd. This value of 'x' indicates that the password for the user is already in /etc/shadow and should not be modified.
If aging is sufficient, a check is made to ensure that the new password meets construction requirements. When the new password is entered a second time, the two copies of the new password are compared. If the two copies are not identical, the cycle of prompting for the new password is repeated for, at most, two more times.
Passwords must be constructed to meet the following requirements:
Each password must have PASSLENGTH characters, where PASSLENGTH is defined in /etc/default/passwd and is set to 8. Only the first eight characters are significant.
Each password must contain at least two alphabetic characters and at least one numeric or special character. In this case, "alphabetic" refers to all upper or lower case letters.
Each password must differ from the user's login name and any reverse or circular shift of that login name. For comparison purposes, an upper case letter and its corresponding lower case letter are equivalent.
New passwords must differ from the old by at least three characters. For comparison purposes, an upper case letter and its corresponding lower case letter are equivalent.
If all requirements are met, by default, the passwd command will consult nsswitch.conf(4) to determine in which repositories to perform password update. It searches the passwd and passwd_compat entries. The sources (repositories) associated with these entries will be updated. However, the password update configurations supported are limited to the following 5 cases. Failure to comply with the configurations will prevent users from logging onto the system.
passwd: files
passwd: files nis
passwd: files nisplus
passwd: compat (==> files nis)
passwd: compat (==> files nisplus)
passwd_compat: nisplus
Network administrators, who own the NIS+ password table, may change any password attributes.
In the files case, administrative users [for instance, real and effective uid equal to 0, see id(1M) and su(1M)] may change any password; hence, passwd does not prompt privileged users for the old password. Privileged users are not forced to comply with password aging and password construction requirements. A privileged user can create a null password by entering a carriage return in response to the prompt for a new password. (This differs from passwd -d because the "password" prompt will still be displayed.)
Any user may use the -s option to show password attributes for his or her own login name, provided they are using the -r nisplus argument. Otherwise, the -s argument is restricted to an administrative role.
The format of the display will be:
name status mm/dd/yy min max warn
name status
The login ID of the user.
The password status of name:
password-protected or locked
locked
no password
The date password was last changed for name. (Note that all password aging dates are determined using Greenwich Mean Time (Universal Time) and therefore may differ by as much as a day in other time zones.)
The minimum number of days required between password changes for name. MINWEEKS is found in /etc/default/passwd and is set to NULL.
The maximum number of days the password is valid for name. MAXWEEKS is found in /etc/default/passwd and is set to NULL.
The number of days relative to max before the password expires and the name will be warned.
passwd uses pam(3) for password management. The PAM configuration policy, listed through /etc/pam.conf, specifies the password modules to be used for passwd. Here is a partial pam.conf file with entries for the passwd command using the UNIX password module.
passwd required password /usr/lib/security/pam_unix.so.1
Specifies the repository to which an operation is applied. The supported repositories are files or nisplus.
Change the login shell. For the files repository, this only works for the superuser. Normal users may change the nisplus repository. The choice of shell is limited by the requirements of getusershell(3C). If the user currently has a shell that is not allowed by getusershell, only root may change it.
Change the gecos (finger) information. For the files repository, this only works for the superuser. Normal users may change the nisplus repository.
Change the home directory.
Consult the passwd.org_dir table in domainname. If this option is not specified, the default domainname returned by nis_local_directory(3N) will be used. This domain name is the same as that returned by domainname(1M).
Show password attributes for the login name. For the nisplus repository, this works for everyone. However for the files repository, this only works for the superuser.
Show password attributes for all entries. Use only with the -s option; name must not be provided. For the nisplus repository, this will show only the entries in the NIS+ password table in the local domain that the invoker is authorized to "read". For the files repository, this is restricted to the superuser.
Only a privileged user can use the following options:
Force the user to change password at the next login by expiring the password for name.
Lock password entry for name.
Set minimum field for name. The min field contains the minimum number of days between password changes for name. If min is greater than max, the user may not change the password. Always use this option with the -x option, unless max is set to -1 (aging turned off). In that case, min need not be set.
Set warn field for name. The warn field contains the number of days before the password expires and the user is warned. This option is not valid if password aging is disabled.
Set maximum field for name. The max field contains the number of days that the password is valid for name. The aging for name will be turned off immediately if max is set to -1. If it is set to 0, then the user is forced to change the password at the next login session and aging is turned off.
Deletes password for name. The login name will not be prompted for password. It is only applicable to the files repository.
If any of the LC_* variables ( LC_CTYPE, LC_MESSAGES, LC_TIME, LC_COLLATE, LC_NUMERIC, and LC_MONETARY) (see environ(5)) are not set in the environment, the operational behavior of passwd for each corresponding locale category is determined by the value of the LANG environment variable. If LC_ALL is set, its contents are used to override both the LANG and the other LC_* variables. If none of the above variables is set in the environment, the "C" (U.S. style) locale determines how passwd behaves.
Determines how passwd handles characters. When LC_CTYPE is set to a valid value, passwd can display and handle text and filenames containing valid characters for that locale. passwd can display and handle Extended Unix Code (EUC) characters where any individual character can be 1, 2, or 3 bytes wide. passwd can also handle EUC characters of 1, 2, or more column widths. In the "C" locale, only characters from ISO 8859-1 are valid.
Determines how diagnostic and informative messages are presented. This includes the language and style of the messages, and the correct form of affirmative and negative responses. In the "C" locale, the messages are presented in the default form found in the program itself (in most cases, U.S. English).
The passwd command exits with one of the following values:
Success
Permission denied
Invalid combination of options
Unexpected failure; password file unchanged
Unexpected failure; password file(s) missing
Password file(s) busy; try again later
Invalid argument to option
Aging option disabled
List of shells on the system
Password file
Shadow password file
Default values can be set for the following flags in /etc/default/passwd. For example: MAXWEEKS=26
The number of times a user may enter the wrong password before being locked out of the system
Maximum time period that password is valid
Minimum time period before the password can be changed
Minimum length of password, in characters
Time period until warning of date of password's ensuing expiration
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWcsu |
CSI | Enabled |
PASSLENGTH in /etc/default/passwd is set to 8, and the MAXBADLOGINS field has been added.
The Trusted Solaris environment does not support a NIS name registry; instead, it supports NIS+.
The passwd command is restricted in the Trusted Solaris environment. A user changes passwords by selecting the Change Password option from the Trusted Path menu in the CDE front panel. Authorized administrative roles can change another user's password through the User Manager.
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | OPERANDS | ENVIRONMENT VARIABLES | EXIT STATUS | FILES | ATTRIBUTES | SUMMARY OF TRUSTED SOLARIS CHANGES | SEE ALSO