summaryrefslogtreecommitdiff
path: root/modules/pam_mkhomedir/pam_mkhomedir.8.xml
blob: 25f5497afb299520d040bbd49302d99158a623b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="pam_mkhomedir">

  <refmeta>
    <refentrytitle>pam_mkhomedir</refentrytitle>
    <manvolnum>8</manvolnum>
    <refmiscinfo class="source">Linux-PAM</refmiscinfo>
    <refmiscinfo class="manual">Linux-PAM Manual</refmiscinfo>
  </refmeta>

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

<!-- body begins here -->

  <refsynopsisdiv>
    <cmdsynopsis xml:id="pam_mkhomedir-cmdsynopsis" sepchar=" ">
      <command>pam_mkhomedir.so</command>
      <arg choice="opt" rep="norepeat">
        silent
      </arg>
      <arg choice="opt" rep="norepeat">
        debug
      </arg>
      <arg choice="opt" rep="norepeat">
        umask=<replaceable>mode</replaceable>
      </arg>
      <arg choice="opt" rep="norepeat">
        skel=<replaceable>skeldir</replaceable>
      </arg>
    </cmdsynopsis>
  </refsynopsisdiv>


  <refsect1 xml: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 xml:id="pam_mkhomedir-options">
    <title>OPTIONS</title>
    <variablelist>

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

      <varlistentry>
        <term>
          debug
        </term>
        <listitem>
          <para>
           Turns on debugging via
            <citerefentry>
              <refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum>
            </citerefentry>.
          </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          umask=mask
        </term>
        <listitem>
          <para>
            The file mode creation mask is set to
            <replaceable>mask</replaceable>. The default value of mask
            is 0022. If this option is not specified, then the permissions
            of created user home directory  is set to the value of
            <option>HOME_MODE</option> configuration item from
            <filename>/etc/login.defs</filename>. If there is no such
            configuration item then the value is computed from the
            value of <option>UMASK</option> in the same file. If
            there is no such configuration option either the default
            value of 0755 is used for the mode.
          </para>
        </listitem>
      </varlistentry>

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

    </variablelist>
  </refsect1>

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

  <refsect1 xml: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_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 xml:id="pam_mkhomedir-files">
    <title>FILES</title>
    <variablelist>
      <varlistentry>
        <term>/etc/skel</term>
        <listitem>
          <para>Default skel directory</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 xml: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 xml:id="pam_mkhomedir-see_also">
    <title>SEE ALSO</title>
    <para>
      <citerefentry>
        <refentrytitle>pam.d</refentrytitle><manvolnum>5</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>pam</refentrytitle><manvolnum>7</manvolnum>
      </citerefentry>.
    </para>
  </refsect1>

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