<?xml version="1.0" encoding="UTF-8"?>
<refentry id='usermod.8'>
  <!--  $Id$  -->
  <refmeta>
    <refentrytitle>usermod</refentrytitle>
    <manvolnum>8</manvolnum>
    <refmiscinfo class="sectdesc">System Management Commands</refmiscinfo>
  </refmeta>
  <refnamediv id='name'>
    <refname>usermod</refname>
    <refpurpose>modify a user account</refpurpose>
  </refnamediv>

  <refsynopsisdiv id='synopsis'>
    <cmdsynopsis>
      <command>usermod</command>
      <arg choice='opt'>
	<replaceable>options</replaceable>
      </arg>
      <arg choice='plain'><replaceable>LOGIN</replaceable></arg>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1 id='description'>
    <title>DESCRIPTION</title>
    <para>
      The <command>usermod</command> command modifies the system account
      files to reflect the changes that are specified on the command line.
    </para>
  </refsect1>

  <refsect1 id='options'>
    <title>OPTIONS</title>
    <para>
      The options which apply to the <command>usermod</command> command
      are:
    </para>
    <variablelist remap='IP'>
      <varlistentry>
	<term>
	  <option>-a</option>, <option>--append</option>
	</term>
	<listitem>
	  <para>
	    Add the user to the supplemental group(s). Use only with
	    <option>-G</option> option.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>
	  <option>-c</option>, <option>--comment</option>
	  <replaceable>COMMENT</replaceable>
	</term>
	<listitem>
	  <para>
	    The new value of the user's password file comment field. It is
	    normally modified using the <citerefentry>
	    <refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
	    </citerefentry> utility.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>
	  <option>-d</option>, <option>--home</option>
	  <replaceable>HOME_DIR</replaceable>
	</term>
	<listitem>
	  <para>
	    The user's new login directory. If the <option>-m</option>
	    option is given the contents of the current home directory will
	    be moved to the new home directory, which is created if it does
	    not already exist.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>
	  <option>-e</option>, <option>--expiredate</option>
	  <replaceable>EXPIRE_DATE</replaceable>
	</term>
	<listitem>
	  <para>
	    The date on which the user account will be disabled. The date is
	    specified in the format <emphasis remap='I'>YYYY-MM-DD</emphasis>.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>
	  <option>-f</option>, <option>--inactive</option>
	  <replaceable>INACTIVE</replaceable>
	</term>
	<listitem>
	  <para>
	    The number of days after a password expires until the account is
	    permanently disabled. A value of 0 disables the account as soon
	    as the password has expired, and a value of -1 disables the
	    feature. The default value is -1.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>
	  <option>-g</option>, <option>--gid</option>
	  <replaceable>GROUP</replaceable>
	</term>
	<listitem>
	  <para>
	    The group name or number of the user's new initial login group.
	    The group name must exist. A group number must refer to an
	    already existing group. The default group number is 1.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>
	  <option>-G</option>, <option>--groups</option>
	  <replaceable>GROUP1</replaceable>[<emphasis remap='I'>,GROUP2,...</emphasis>[<emphasis remap='I'>,GROUPN</emphasis>]]]
	</term>
	<listitem>
	  <para>
	    A list of supplementary groups which the user is also a member
	    of. Each group is separated from the next by a comma, with no
	    intervening whitespace. The groups are subject to the same
	    restrictions as the group given with the <option>-g</option>
	    option. If the user is currently a member of a group which is
	    not listed, the user will be removed from the group. This
	    behaviour can be changed via the <option>-a</option> option, which
	    appends the user to the current supplementary group list.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>
	  <option>-l</option>, <option>--login</option>
	  <replaceable>NEW_LOGIN</replaceable>
	</term>
	<listitem>
	  <para>
	    The name of the user will be changed from <emphasis
	    remap='I'>LOGIN</emphasis> to <emphasis
	    remap='I'>NEW_LOGIN</emphasis>. Nothing else is changed. In
	    particular, the user's home directory name should probably be
	    changed manually to reflect the new login name.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>
	  <option>-L</option>, <option>--lock</option>
	</term>
	<listitem>
	  <para>
	    Lock a user's password. This puts a '!' in front of the
	    encrypted password, effectively disabling the password. You
	    can't use this option with <option>-p</option> or
	    <option>-U</option>.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>
	  <option>-o</option>, <option>--non-unique</option>
	</term>
	<listitem>
	  <para>
	    When used with the <option>-u</option> option, this option
	    allows to change the user ID to a non-unique value.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>
	  <option>-p</option>, <option>--password</option>
	  <replaceable>PASSWORD</replaceable>
	</term>
	<listitem>
	  <para>
	    The encrypted password, as returned by <citerefentry>
	    <refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
	    </citerefentry>.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>
	  <option>-s</option>, <option>--shell</option>
	  <replaceable>SHELL</replaceable>
	</term>
	<listitem>
	  <para>
	    The name of the user's new login shell. Setting this field to
	    blank causes the system to select the default login shell.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>
	  <option>-u</option>, <option>--uid</option>
	  <replaceable>UID</replaceable>
	</term>
	<listitem>
	  <para>
	    The numerical value of the user's ID. This value must be unique,
	    unless the <option>-o</option> option is used. The value must be
	    non-negative. Values between 0 and 999 are typically reserved
	    for system accounts. Any files which the user owns and which are
	    located in the directory tree rooted at the user's home
	    directory will have the file user ID changed automatically. 
	    Files outside of the user's home directory must be altered
	    manually.
	  </para>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term>
	  <option>-U</option>, <option>--unlock</option>
	</term>
	<listitem>
	  <para>
	    Unlock a user's password. This removes the '!' in front of the
	    encrypted password. You can't use this option with
	    <option>-p</option> or <option>-L</option>.
	  </para>
	</listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id='caveats'>
    <title>CAVEATS</title>
    <para>
      <command>usermod</command> will not allow you to change the name of a
      user who is logged in. You must make certain that the named user is
      not executing any processes when this command is being executed if the
      user's numerical user ID is being changed. You must change the owner
      of any <command>crontab</command> files manually. You must change
      the owner of any <command>at</command> jobs manually. You must make
      any changes involving NIS on the NIS server.
    </para>
  </refsect1>

  <refsect1 id='files'>
    <title>FILES</title>
    <variablelist>
      <varlistentry>
	<term><filename>/etc/group</filename></term>
	<listitem>
	  <para>Group account information.</para>
	</listitem>
      </varlistentry>
      <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='see_also'>
    <title>SEE ALSO</title>
    <para>
      <citerefentry>
	<refentrytitle>chfn</refentrytitle><manvolnum>1</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>chsh</refentrytitle><manvolnum>1</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>crypt</refentrytitle><manvolnum>3</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>gpasswd</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>groupadd</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>groupdel</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>groupmod</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>login.defs</refentrytitle><manvolnum>5</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>useradd</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>userdel</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>.
    </para>
  </refsect1>
</refentry>
