Blob Blame History Raw
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
                   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<refentry id='pam_mkhomedir'>

  <refmeta>
    <refentrytitle>pam_mkhomedir</refentrytitle>
    <manvolnum>8</manvolnum>
    <refmiscinfo class='setdesc'>Linux-PAM Manual</refmiscinfo>
  </refmeta>

  <refnamediv id='pam_mkhomedir-name'>
    <refname>pam_mkhomedir</refname>
    <refpurpose>
      PAM module to create users home directory
    </refpurpose>
  </refnamediv>

<!-- body begins here -->

  <refsynopsisdiv>
    <cmdsynopsis id="pam_mkhomedir-cmdsynopsis">
      <command>pam_mkhomedir.so</command>
      <arg choice="opt">
        silent
      </arg>
      <arg choice="opt">
        umask=<replaceable>mode</replaceable>
      </arg>
      <arg choice="opt">
        skel=<replaceable>skeldir</replaceable>
      </arg>
    </cmdsynopsis>
  </refsynopsisdiv>


  <refsect1 id="pam_mkhomedir-description">
    <title>DESCRIPTION</title>
    <para>
      The pam_mkhomedir PAM module will create a users home directory
      if it does not exist when the session begins. This allows users
      to be present in central database (such as NIS, kerberos or LDAP)
      without using a distributed file system or pre-creating a large
      number of directories. The skeleton directory (usually
      <filename>/etc/skel/</filename>) is used to copy default files
      and also sets a umask for the creation.
    </para>
    <para>
      The new users home directory will not be removed after logout
      of the user.
    </para>
  </refsect1>

  <refsect1 id="pam_mkhomedir-options">
    <title>OPTIONS</title>
    <variablelist>

      <varlistentry>
        <term>
          <option>silent</option>
        </term>
        <listitem>
          <para>
            Don't print informative messages.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>umask=<replaceable>mask</replaceable></option>
        </term>
        <listitem>
          <para>
            The user file-creation mask is set to
            <replaceable>mask</replaceable>. The default value of mask is
            0022.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <option>skel=<replaceable>/path/to/skel/directory</replaceable></option>
        </term>
        <listitem>
          <para>
            Indicate an alternative <filename>skel</filename> directory
            to override the default <filename>/etc/skel</filename>.
          </para>
        </listitem>
      </varlistentry>

    </variablelist>
  </refsect1>

  <refsect1 id="pam_mkhomedir-types">
    <title>MODULE TYPES PROVIDED</title>
    <para>
      Only the <option>session</option> module type is provided.
    </para>
  </refsect1>

  <refsect1 id="pam_mkhomedir-return_values">
    <title>RETURN VALUES</title>
    <variablelist>
      <varlistentry>
        <term>PAM_BUF_ERR</term>
        <listitem>
           <para>
             Memory buffer error.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>PAM_CRED_INSUFFICIENT</term>
        <listitem>
           <para>
             Insufficient credentials to access authentication data.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>PAM_PERM_DENIED</term>
        <listitem>
           <para>
             Not enough permissions to create the new directory
             or read the skel directory.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>PAM_USER_UNKNOWN</term>
        <listitem>
           <para>
             User not known to the underlying authentication module.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>PAM_SUCCESS</term>
        <listitem>
           <para>
             Environment variables were set.
          </para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id="pam_mkhomedir-files">
    <title>FILES</title>
    <variablelist>
      <varlistentry>
        <term><filename>/etc/skel</filename></term>
        <listitem>
          <para>Default skel directory</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id='pam_mkhomedir-examples'>
    <title>EXAMPLES</title>
    <para>
      A sample /etc/pam.d/login file:
      <programlisting>
  auth       requisite   pam_securetty.so
  auth       sufficient  pam_ldap.so
  auth       required    pam_unix.so
  auth       required    pam_nologin.so
  account    sufficient  pam_ldap.so
  account    required    pam_unix.so
  password   required    pam_unix.so
  session    required    pam_mkhomedir.so skel=/etc/skel/ umask=0022
  session    required    pam_unix.so
  session    optional    pam_lastlog.so
  session    optional    pam_mail.so standard
      </programlisting>
    </para>
  </refsect1>


  <refsect1 id="pam_mkhomedir-see_also">
    <title>SEE ALSO</title>
    <para>
      <citerefentry>
        <refentrytitle>pam.d</refentrytitle><manvolnum>5</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>.
    </para>
  </refsect1>

  <refsect1 id="pam_mkhomedir-author">
    <title>AUTHOR</title>
    <para>
      pam_mkhomedir was written by Jason Gunthorpe &lt;jgg@debian.org&gt;.
    </para>
  </refsect1>
</refentry>