Change the login password or create new user names (UNIX)
You can use the passwd utility to change your login password, and if you're logged in as the superuser (root), you can create a new user account.
|This utility needs to have the setuid (“set user ID”) bit set in its permissions. If you use mkefs, mketfs, or mkifs on a Windows host to include this utility in an image, use the perms attribute to specify its permissions explicitly, and the uid and gid attributes to set the ownership correctly.|
If you're changing your password, passwd prompts for the old password and then for the new password. The new password must be entered twice, to avoid typing mistakes. Only the owner or the superuser may change a password.
To create a new user account, type:
|Make sure that the user name is no longer than 14 characters; otherwise, that user won't be able to log in.|
When creating a new user account, passwd prompts for information, such as the user's group list, home directory, and shell. The /etc/default/passwd file (see “Files,” below) specifies the default values for these prompts. You can edit this file to modify passwd's behavior to suit local requirements.
The /etc/passwd file contains the following fields, separated by colons:
If the has_passwd field contains an x character, a password has been defined for this user. If no character is present, no password has been defined. Use of any other character is reserved and may cause side-effects for the user.
The groupid field contains a group number. Users may log in under the groupid listed in their /etc/passwd file entry without being listed as a member of that group in the /etc/group file.
The misc field stores supplemental information, with commas separating subfields. Usually, the first subfield contains the user's “real life” name. Some utilities use this information.
The initial_command field contains the initial command to run after the user has successfully logged in. This command and any arguments it takes must be separated by tab or space characters. As the command is spawned directly (not run by a shell), no shell expansions is performed. There is no mechanism for specifying command-line arguments that contain space or tab characters themselves. (Quoting isn't supported.)
If no initial_command is specified, /bin/sh is used.
Entries in this file appear in the following format:
The x represents the group password; Neutrino doesn't support group passwords.
|BASEDIR=dirname||/home||The base directory under which user directories are created.|
|SHELL=progname||/bin/sh||The shell to use for the login shell field in new password entries.|
|UIDRANGE=low-[high]||100-||The valid range of values for new user IDs. You can omit the high component, indicating no upper bound, but you still need the dash.|
|GIDRANGE=low-[high]||100-||The valid range of values for group IDs. As with UIDRANGE, you can omit the high component if there's no upper bound.|
|DUPDIROK||Not set.||If specified, passwd lets you select an existing directory as a new user's home directory.|
|DUPUIDOK||Not set.||If specified, passwd lets you select an existing user ID for a new user name. This is generally discouraged, because it allows many user names to be mapped to one user ID.|
|NOPASSWORDOK||NOPASSWORDOK||If specified, passwd lets you set up user accounts that don't require a password to log in.|
|STRICTPASSWORD||Not set.||If specified, passwd requires all passwords to contain at least two types of characters (e.g. alphabetic and punctuation).|
|INSISTANT=retries||6||The number of times passwd asks non-root users if they really want to set up their account with no password. This variable is ignored if NOPASSWORDOK is set.|
|PROFILE=basename||.profile||The name to use for the shell's initialization file in the user's home directory. The file specified by DEFPROFILE (below) is copied there when you set up a new account.|
|DEFPROFILE=filename||/etc/skel/.profile||The path to a default shell-initialization file that's copied to a new user's PROFILE when you set up the account.|
|QNXCRYPT||Not set.||If this is set, passwd uses the old QNX 4 encryption method, instead of the default UNIX encryption method.|
The passwd utility creates the /etc/.pwlock file during updates to the password database. If for some reason the system crashes at an inopportune moment and leaves this file present, passwd will refuse to work until the file is removed by the system administrator. If the password files are somehow left in an inconsistent state as a result of the crash, the system administrator should also copy /etc/oshadow to /etc/shadow and copy /etc/opasswd to /etc/passwd.
crypt(), qnx_crypt() in the Library Reference
Managing User Accounts in the Neutrino User's Guide