408 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			408 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="UTF-8"?>
 | |
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.5//EN"
 | |
|   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
 | |
| <!ENTITY ENCRYPT_METHOD        SYSTEM "login.defs.d/ENCRYPT_METHOD.xml">
 | |
| <!ENTITY MD5_CRYPT_ENAB        SYSTEM "login.defs.d/MD5_CRYPT_ENAB.xml">
 | |
| <!ENTITY OBSCURE_CHECKS_ENAB   SYSTEM "login.defs.d/OBSCURE_CHECKS_ENAB.xml">
 | |
| <!ENTITY PASS_ALWAYS_WARN      SYSTEM "login.defs.d/PASS_ALWAYS_WARN.xml">
 | |
| <!ENTITY PASS_CHANGE_TRIES     SYSTEM "login.defs.d/PASS_CHANGE_TRIES.xml">
 | |
| <!ENTITY PASS_MAX_LEN          SYSTEM "login.defs.d/PASS_MAX_LEN.xml">
 | |
| <!ENTITY SHA_CRYPT_MIN_ROUNDS  SYSTEM "login.defs.d/SHA_CRYPT_MIN_ROUNDS.xml">
 | |
| ]>
 | |
| <refentry id='passwd.1'>
 | |
|   <!--  $Id$ -->
 | |
|   <refmeta>
 | |
|     <refentrytitle>passwd</refentrytitle>
 | |
|     <manvolnum>1</manvolnum>
 | |
|     <refmiscinfo class="sectdesc">User Commands</refmiscinfo>
 | |
|   </refmeta>
 | |
|   <refnamediv id='name'>
 | |
|     <refname>passwd</refname>
 | |
|     <refpurpose>change user password</refpurpose>
 | |
|   </refnamediv>
 | |
| 
 | |
|   <refsynopsisdiv id='synopsis'>
 | |
|     <cmdsynopsis>
 | |
|       <command>passwd</command>
 | |
|       <arg choice='opt'>
 | |
| 	<replaceable>options</replaceable>
 | |
|       </arg>
 | |
|       <arg choice='opt'>
 | |
|         <replaceable>LOGIN</replaceable>
 | |
|       </arg>
 | |
|     </cmdsynopsis>
 | |
|   </refsynopsisdiv>
 | |
| 
 | |
|   <refsect1 id='description'>
 | |
|     <title>DESCRIPTION</title>
 | |
|     <para>
 | |
|       The <command>passwd</command> command changes passwords for user accounts.
 | |
|       A normal user may only change the password for his/her own account, while
 | |
|       the superuser may change the password for any account.
 | |
|       <command>passwd</command> also changes account information, such as
 | |
|       the full name of the user, the user's login shell, or his/her password
 | |
|       expiry date and interval.
 | |
|     </para>
 | |
| 
 | |
|     <refsect2 id='password_changes'>
 | |
|       <title>Password Changes</title>
 | |
|       <para>
 | |
| 	The user is first prompted for his/her old password, if one is
 | |
| 	present. This password is then encrypted and compared against the
 | |
| 	stored password. The user has only one chance to enter the correct
 | |
| 	password. The superuser is permitted to bypass this step so that
 | |
| 	forgotten passwords may be changed.
 | |
|       </para>
 | |
| 
 | |
|       <para>
 | |
| 	After the password has been entered, password aging information is
 | |
| 	checked to see if the user is permitted to change the password at
 | |
| 	this time. If not, <command>passwd</command> refuses to change the
 | |
| 	password and exits.
 | |
|       </para>
 | |
| 
 | |
|       <para>
 | |
| 	The user is then prompted twice for a replacement password. The
 | |
| 	second entry is compared against the first and both are required to
 | |
| 	match in order for the password to be changed.
 | |
|       </para>
 | |
| 
 | |
|       <para>
 | |
| 	Then, the password is tested for complexity. As a general guideline,
 | |
| 	passwords should consist of 6 to 8 characters including one or more
 | |
| 	characters from each of the following sets:
 | |
|       </para>
 | |
| 
 | |
|       <itemizedlist mark='bullet'>
 | |
| 	<listitem>
 | |
| 	  <para>lower case alphabetics</para>
 | |
| 	</listitem>
 | |
| 	<listitem>
 | |
| 	  <para>digits 0 thru 9</para>
 | |
| 	</listitem>
 | |
| 	<listitem>
 | |
| 	  <para>punctuation marks</para>
 | |
| 	</listitem>
 | |
|       </itemizedlist>
 | |
| 
 | |
|       <para>
 | |
| 	Care must be taken not to include the system default erase or kill
 | |
| 	characters. <command>passwd</command> will reject any password which
 | |
| 	is not suitably complex.
 | |
|       </para>
 | |
| 
 | |
|     </refsect2>
 | |
| 
 | |
|     <refsect2 id='hints_for_user_passwords'>
 | |
|       <title>Hints for user passwords</title>
 | |
|       <para>
 | |
| 	The security of a password depends upon the strength of the
 | |
| 	encryption algorithm and the size of the key space. The
 | |
| 	<emphasis>UNIX</emphasis> System encryption method is based on the
 | |
| 	NBS DES algorithm and is very secure. The size of the key space
 | |
| 	depends upon the randomness of the password which is selected.
 | |
|       </para>
 | |
| 
 | |
|       <para>
 | |
| 	Compromises in password security normally result from careless
 | |
| 	password selection or handling. For this reason, you should not
 | |
| 	select a password which appears in a dictionary or which must be
 | |
| 	written down. The password should also not be a proper name, your
 | |
| 	license number, birth date, or street address. Any of these may be
 | |
| 	used as guesses to violate system security.
 | |
|       </para>
 | |
| 
 | |
|       <para>
 | |
| 	You can find advices on how to choose a strong password on
 | |
| 	http://en.wikipedia.org/wiki/Password_strength
 | |
|       </para>
 | |
|     </refsect2>
 | |
|   </refsect1>
 | |
| 
 | |
|   <refsect1 id='options'>
 | |
|     <title>OPTIONS</title>
 | |
|     <para>
 | |
|       The options which apply to the <command>passwd</command> command are:
 | |
|     </para>
 | |
|     <variablelist remap='IP'>
 | |
|       <varlistentry>
 | |
| 	<term>
 | |
| 	  <option>-a</option>, <option>--all</option>
 | |
| 	</term>
 | |
| 	<listitem>
 | |
| 	  <para>
 | |
| 	    This option can be used only with <option>-S</option> and causes show
 | |
| 	    status for all users.
 | |
| 	  </para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|       <varlistentry>
 | |
| 	<term>
 | |
| 	  <option>-d</option>, <option>--delete</option>
 | |
| 	</term>
 | |
| 	<listitem>
 | |
| 	  <para>
 | |
| 	    Delete a user's password (make it empty). This is a quick way
 | |
| 	    to disable a password for an account. It will set the named
 | |
| 	    account passwordless.
 | |
| 	  </para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|       <varlistentry>
 | |
| 	<term>
 | |
| 	  <option>-e</option>, <option>--expire</option>
 | |
| 	</term>
 | |
| 	<listitem>
 | |
| 	  <para>
 | |
| 	    Immediately expire an account's password. This in effect can
 | |
| 	    force a user to change his/her password at the user's next login.
 | |
| 	  </para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|       <varlistentry>
 | |
| 	<term><option>-h</option>, <option>--help</option></term>
 | |
| 	<listitem>
 | |
| 	  <para>Display help message and exit.</para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|       <varlistentry>
 | |
| 	<term>
 | |
| 	  <option>-i</option>, <option>--inactive</option> <replaceable>INACTIVE</replaceable>
 | |
| 	</term>
 | |
| 	<listitem>
 | |
| 	  <para>
 | |
| 	    This option is used to disable an account after the password has
 | |
| 	    been expired for a number of days. After a user account has had
 | |
| 	    an expired password for <replaceable>INACTIVE</replaceable>
 | |
| 	    days, the user may no longer sign on to the account.
 | |
| 	  </para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|       <varlistentry>
 | |
| 	<term>
 | |
| 	  <option>-k</option>, <option>--keep-tokens</option>
 | |
| 	</term>
 | |
| 	<listitem>
 | |
| 	  <para>
 | |
| 	    Indicate password change should be performed only for expired
 | |
| 	    authentication tokens (passwords). The user wishes to keep their
 | |
| 	    non-expired tokens as before.
 | |
| 	  </para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|       <varlistentry>
 | |
| 	<term>
 | |
| 	  <option>-l</option>, <option>--lock</option>
 | |
| 	</term>
 | |
| 	<listitem>
 | |
| 	  <para>
 | |
| 	    Lock the named account. This option disables an account by changing
 | |
| 	    the password to a value which matches no possible encrypted value,
 | |
| 	    and by setting the account expiry field to 1.
 | |
| 	  </para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|       <varlistentry>
 | |
| 	<term>
 | |
| 	  <option>-m</option>, <option>--mindays</option> <replaceable>MIN_DAYS</replaceable>
 | |
| 	</term>
 | |
| 	<listitem>
 | |
| 	  <para>
 | |
| 	    Set the minimum number of days between password changes to
 | |
| 	    <replaceable>MIN_DAYS</replaceable>. A value of zero for this field
 | |
| 	    indicates that the user may change his/her password at any time.
 | |
| 	  </para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|       <varlistentry>
 | |
| 	<term>
 | |
| 	  <option>-q</option>, <option>--quiet</option>
 | |
| 	</term>
 | |
| 	<listitem>
 | |
| 	  <para>
 | |
| 	    Quiet mode.
 | |
| 	  </para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|       <varlistentry>
 | |
| 	<term>
 | |
| 	  <option>-r</option>, <option>--repository</option> <replaceable>REPOSITORY</replaceable>
 | |
| 	</term>
 | |
| 	<listitem>
 | |
| 	  <para>
 | |
| 	    change password in <replaceable>REPOSITORY</replaceable> repository
 | |
| 	  </para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|       <varlistentry>
 | |
| 	<term>
 | |
| 	  <option>-S</option>, <option>--status</option>
 | |
| 	</term>
 | |
| 	<listitem>
 | |
| 	  <para>
 | |
| 	    Display account status information. The status information
 | |
| 	    consists of 7 fields. The first field is the user's login name. 
 | |
| 	    The second field indicates if the user account is locked (L),
 | |
| 	    has no password (NP), or has a usable password (P). The third
 | |
| 	    field gives the date of the last password change. The next four
 | |
| 	    fields are the minimum age, maximum age, warning period, and
 | |
| 	    inactivity period for the password. These ages are expressed in
 | |
| 	    days.
 | |
| 	  </para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|       <varlistentry>
 | |
| 	<term>
 | |
| 	  <option>-u</option>, <option>--unlock</option>
 | |
| 	</term>
 | |
| 	<listitem>
 | |
| 	  <para>
 | |
| 	    Unlock the named account. This option re-enables an account by
 | |
| 	    changing the password back to its previous value (to value before
 | |
| 	    using <option>-l</option> option), and by resetting the account
 | |
| 	    expiry field.
 | |
| 	  </para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|       <varlistentry>
 | |
| 	<term>
 | |
| 	  <option>-w</option>, <option>--warndays</option> <replaceable>WARN_DAYS</replaceable>
 | |
| 	</term>
 | |
| 	<listitem>
 | |
| 	  <para>
 | |
| 	    Set the number of days of warning before a password change is
 | |
| 	    required. The <replaceable>WARN_DAYS</replaceable> option is
 | |
| 	    the number of days prior to the password expiring that a user
 | |
| 	    will be warned that his/her password is about to expire.
 | |
| 	  </para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|       <varlistentry>
 | |
| 	<term>
 | |
| 	  <option>-x</option>, <option>--maxdays</option> <replaceable>MAX_DAYS</replaceable>
 | |
| 	</term>
 | |
| 	<listitem>
 | |
| 	  <para>
 | |
| 	    Set the maximum number of days a password remains valid. After
 | |
| 	    <replaceable>MAX_DAYS</replaceable>, the password is required
 | |
| 	    to be changed.
 | |
| 	  </para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|     </variablelist>
 | |
|   </refsect1>
 | |
| 
 | |
|   <refsect1 id='caveats'>
 | |
|     <title>CAVEATS</title>
 | |
|     <para>
 | |
|       Not all options may be supported. Password complexity checking may
 | |
|       vary from site to site. The user is urged to select a password as
 | |
|       complex as he or she feels comfortable with. Users may not be able to 
 | |
|       change their password on a system if NIS is enabled and they are not 
 | |
|       logged into the NIS server.
 | |
|     </para>
 | |
|   </refsect1>
 | |
| 
 | |
|   <refsect1 id='configuration' condition="no_pam">
 | |
|     <title>CONFIGURATION</title>
 | |
|     <para>
 | |
|       The following configuration variables in
 | |
|       <filename>/etc/login.defs</filename> change the behavior of this
 | |
|       tool:
 | |
|     </para>
 | |
|     <variablelist>
 | |
|       &ENCRYPT_METHOD;
 | |
|       &MD5_CRYPT_ENAB;
 | |
|       &OBSCURE_CHECKS_ENAB;
 | |
|       &PASS_ALWAYS_WARN;
 | |
|       &PASS_CHANGE_TRIES;
 | |
|       &PASS_MAX_LEN; <!-- documents also PASS_MIN_LEN -->
 | |
|       &SHA_CRYPT_MIN_ROUNDS;
 | |
|     </variablelist>
 | |
|   </refsect1>
 | |
| 
 | |
|   <refsect1 id='files'>
 | |
|     <title>FILES</title>
 | |
|     <variablelist>
 | |
|       <varlistentry>
 | |
| 	<term><filename>/etc/passwd</filename></term>
 | |
| 	<listitem>
 | |
| 	  <para>User account information.</para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|       <varlistentry>
 | |
| 	<term><filename>/etc/shadow</filename></term>
 | |
| 	<listitem>
 | |
| 	  <para>Secure user account information.</para>
 | |
| 	</listitem>
 | |
|       </varlistentry>
 | |
|     </variablelist>
 | |
|   </refsect1>
 | |
| 
 | |
|   <refsect1 id='exit_values'>
 | |
|     <title>EXIT VALUES</title>
 | |
|     <para>
 | |
|       The <command>passwd</command> command exits with the following values:
 | |
|       <variablelist>
 | |
| 	<varlistentry>
 | |
| 	  <term><replaceable>0</replaceable></term>
 | |
| 	  <listitem>
 | |
| 	    <para>success</para>
 | |
| 	  </listitem>
 | |
| 	</varlistentry>
 | |
| 	<varlistentry>
 | |
| 	  <term><replaceable>1</replaceable></term>
 | |
| 	  <listitem>
 | |
| 	    <para>permission denied</para>
 | |
| 	  </listitem>
 | |
| 	</varlistentry>
 | |
| 	<varlistentry>
 | |
| 	  <term><replaceable>2</replaceable></term>
 | |
| 	  <listitem>
 | |
| 	    <para>invalid combination of options</para>
 | |
| 	    </listitem>
 | |
| 	</varlistentry>
 | |
| 	<varlistentry>
 | |
| 	  <term><replaceable>3</replaceable></term>
 | |
| 	  <listitem>
 | |
| 	    <para>unexpected failure, nothing done</para>
 | |
| 	  </listitem>
 | |
| 	</varlistentry>
 | |
| 	<varlistentry>
 | |
| 	  <term><replaceable>4</replaceable></term>
 | |
| 	  <listitem>
 | |
| 	    <para>unexpected failure, <filename>passwd</filename> file missing</para>
 | |
| 	  </listitem>
 | |
| 	</varlistentry>
 | |
| 	<varlistentry>
 | |
| 	  <term><replaceable>5</replaceable></term>
 | |
| 	  <listitem>
 | |
| 	    <para><filename>passwd</filename> file busy, try again</para>
 | |
| 	  </listitem>
 | |
| 	</varlistentry>
 | |
| 	<varlistentry>
 | |
| 	  <term><replaceable>6</replaceable></term>
 | |
| 	  <listitem>
 | |
| 	    <para>invalid argument to option</para>
 | |
| 	  </listitem>
 | |
| 	</varlistentry>
 | |
|       </variablelist>
 | |
|     </para>
 | |
|   </refsect1>
 | |
| 
 | |
|   <refsect1 id='see_also'>
 | |
|     <title>SEE ALSO</title>
 | |
|     <para>
 | |
|       <citerefentry>
 | |
| 	<refentrytitle>group</refentrytitle><manvolnum>5</manvolnum>
 | |
|       </citerefentry>,
 | |
|       <citerefentry>
 | |
| 	<refentrytitle>passwd</refentrytitle><manvolnum>5</manvolnum>
 | |
|       </citerefentry>,
 | |
|       <citerefentry>
 | |
| 	<refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
 | |
|       </citerefentry>.
 | |
|     </para>
 | |
|   </refsect1>
 | |
| </refentry>
 |