Add comment explaining the previous fix.
[Samba.git] / docs-xml / manpages-3 / pdbedit.8.xml
blob41dc9b00782cc7c53632eb676393f9fa24086209
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
3 <refentry id="pdbedit.8">
5 <refmeta>
6         <refentrytitle>pdbedit</refentrytitle>
7         <manvolnum>8</manvolnum>
8         <refmiscinfo class="source">Samba</refmiscinfo>
9         <refmiscinfo class="manual">System Administration tools</refmiscinfo>
10         <refmiscinfo class="version">3.2</refmiscinfo>
11 </refmeta>
14 <refnamediv>
15         <refname>pdbedit</refname>
16         <refpurpose>manage the SAM database (Database of Samba Users)</refpurpose>
17 </refnamediv>
19 <refsynopsisdiv>
20         <cmdsynopsis>
21                 <command>pdbedit</command>
22                 <arg choice="opt">-L</arg>      
23                 <arg choice="opt">-v</arg>      
24                 <arg choice="opt">-w</arg>      
25                 <arg choice="opt">-u username</arg>     
26                 <arg choice="opt">-f fullname</arg>     
27                 <arg choice="opt">-h homedir</arg>      
28                 <arg choice="opt">-D drive</arg>        
29                 <arg choice="opt">-S script</arg>
30                 <arg choice="opt">-p profile</arg>      
31                 <arg choice="opt">-a</arg>      
32                 <arg choice="opt">-t, --password-from-stdin</arg>
33                 <arg choice="opt">-m</arg>      
34                 <arg choice="opt">-r</arg>      
35                 <arg choice="opt">-x</arg>      
36                 <arg choice="opt">-i passdb-backend</arg>       
37                 <arg choice="opt">-e passdb-backend</arg>   
38                 <arg choice="opt">-b passdb-backend</arg>
39                 <arg choice="opt">-g</arg>
40                 <arg choice="opt">-d debuglevel</arg>
41                 <arg choice="opt">-s configfile</arg>
42                 <arg choice="opt">-P account-policy</arg>
43                 <arg choice="opt">-C value</arg>
44                 <arg choice="opt">-c account-control</arg>
45                 <arg choice="opt">-y</arg>
46         </cmdsynopsis>
47 </refsynopsisdiv>
49 <refsect1>
50         <title>DESCRIPTION</title>
52         <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
53         <manvolnum>7</manvolnum></citerefentry> suite.</para>
55         <para>The pdbedit program is used to manage the users accounts
56         stored in the sam database and can only be run by root.</para>
58         <para>The pdbedit tool uses the passdb modular interface and is
59         independent from the kind of users database used (currently there
60         are smbpasswd, ldap, nis+ and tdb based and more can be added
61         without changing the tool).</para>
63         <para>There are five main ways to use pdbedit: adding a user account,
64         removing a user account, modifing a user account, listing user
65         accounts, importing users accounts.</para>
66 </refsect1>
68 <refsect1>
69         <title>OPTIONS</title>
70         <variablelist>
71                 <varlistentry>
72                 <term>-L</term>
73                 <listitem><para>This option lists all the user accounts
74                 present in the users database.
75                 This option prints a list of user/uid pairs separated by
76                 the ':' character.</para>
77                 <para>Example: <command>pdbedit -L</command></para>
78                 <para><programlisting>
79 sorce:500:Simo Sorce
80 samba:45:Test User
81 </programlisting></para>
82                 </listitem>
83                 </varlistentry>
84                 
85                 
86                 
87                 <varlistentry>
88                 <term>-v</term>
89                 <listitem><para>This option enables the verbose listing format.
90                 It causes pdbedit to list the users in the database, printing
91                 out the account fields in a descriptive format.</para>
93                 <para>Example: <command>pdbedit -L -v</command></para>
94                 <para><programlisting>
95 ---------------
96 username:       sorce
97 user ID/Group:  500/500
98 user RID/GRID:  2000/2001
99 Full Name:      Simo Sorce
100 Home Directory: \\BERSERKER\sorce
101 HomeDir Drive:  H:
102 Logon Script:   \\BERSERKER\netlogon\sorce.bat
103 Profile Path:   \\BERSERKER\profile
104 ---------------
105 username:       samba
106 user ID/Group:  45/45
107 user RID/GRID:  1090/1091
108 Full Name:      Test User
109 Home Directory: \\BERSERKER\samba
110 HomeDir Drive:  
111 Logon Script:   
112 Profile Path:   \\BERSERKER\profile
113 </programlisting></para>
114                 </listitem>
115                 </varlistentry>
116                 
117                 
118                 
119                 <varlistentry>
120                 <term>-w</term>
121                 <listitem><para>This option sets the "smbpasswd" listing format.
122                 It will make pdbedit list the users in the database, printing
123                 out the account fields in a format compatible with the
124                 <filename>smbpasswd</filename> file format. (see the
125                 <citerefentry><refentrytitle>smbpasswd</refentrytitle>
126                 <manvolnum>5</manvolnum></citerefentry> for details)</para>
128                 <para>Example: <command>pdbedit -L -w</command></para>
129                 <programlisting>
130 sorce:500:508818B733CE64BEAAD3B435B51404EE:
131           D2A2418EFC466A8A0F6B1DBB5C3DB80C:
132           [UX         ]:LCT-00000000:
133 samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:
134           BC281CE3F53B6A5146629CD4751D3490:
135           [UX         ]:LCT-3BFA1E8D:
136 </programlisting>
137                 </listitem>
138                 </varlistentry>
139                 
140                 
141                 <varlistentry>
142                 <term>-u username</term>
143                 <listitem><para>This option specifies the username to be
144                 used for the operation requested (listing, adding, removing).
145                 It is <emphasis>required</emphasis> in add, remove and modify
146                 operations and <emphasis>optional</emphasis> in list
147                 operations.</para>
148                 </listitem>
149                 </varlistentry>
151                 <varlistentry>
152                 <term>-f fullname</term>
153                 <listitem><para>This option can be used while adding or
154                 modifing a user account. It will specify the user's full
155                 name. </para>
157                 <para>Example: <command>-f "Simo Sorce"</command></para>
158                 </listitem>
159                 </varlistentry>
160                 
161                 <varlistentry>
162                 <term>-h homedir</term>
163                 <listitem><para>This option can be used while adding or
164                 modifing a user account. It will specify the user's home
165                 directory network path.</para>
167                 <para>Example: <command>-h "\\\\BERSERKER\\sorce"</command>
168                 </para>
169                 </listitem>
170                 </varlistentry>
171                 
172                 <varlistentry>
173                 <term>-D drive</term>
174                 <listitem><para>This option can be used while adding or
175                 modifing a user account. It will specify the windows drive
176                 letter to be used to map the home directory.</para>
178                 <para>Example: <command>-D "H:"</command>
179                 </para>
180                 </listitem>
181                 </varlistentry>
182                 
183                 
184                 <varlistentry>
185                 <term>-S script</term>
186                 <listitem><para>This option can be used while adding or
187                 modifing a user account. It will specify the user's logon
188                 script path.</para>
190                 <para>Example: <command>-S "\\\\BERSERKER\\netlogon\\sorce.bat"</command>
191                 </para>
192                 </listitem>
193                 </varlistentry>
194                 
195                 
196                 <varlistentry>
197                 <term>-p profile</term>
198                 <listitem><para>This option can be used while adding or
199                 modifing a user account. It will specify the user's profile
200                 directory.</para>
202                 <para>Example: <command>-p "\\\\BERSERKER\\netlogon"</command>
203                 </para>
204                 </listitem>
205                 </varlistentry>
207                 <varlistentry>
208                 <term>-G SID|rid</term>
209                 <listitem><para>
210                 This option can be used while adding or modifying a user account. It 
211                 will specify the users' new primary group SID (Security Identifier) or 
212                 rid. </para>
214                 <para>Example: <command>-G S-1-5-21-2447931902-1787058256-3961074038-1201</command></para>
215                 </listitem>
216                 </varlistentry>
218                 <varlistentry>
219                 <term>-U SID|rid</term>
220                 <listitem><para>
221                 This option can be used while adding or modifying a user account. It 
222                 will specify the users' new SID (Security Identifier) or 
223                 rid. </para>
225                 <para>Example: <command>-U S-1-5-21-2447931902-1787058256-3961074038-5004</command></para>
226                 </listitem>
227                 </varlistentry>
229                 <varlistentry>
230                 <term>-c account-control</term>
231                 <listitem><para>This option can be used while adding or modifying a user
232                                 account. It will specify the users' account control property. Possible flags are listed below.
233         </para>
235         <para>
236                 <itemizedlist>
237                         <listitem><para>N: No password required</para></listitem>
238                         <listitem><para>D: Account disabled</para></listitem>
239                         <listitem><para>H: Home directory required</para></listitem>
240                         <listitem><para>T: Temporary duplicate of other account</para></listitem>
241                         <listitem><para>U: Regular user account</para></listitem>
242                         <listitem><para>M: MNS logon user account</para></listitem>
243                         <listitem><para>W: Workstation Trust Account</para></listitem>
244                         <listitem><para>S: Server Trust Account</para></listitem>
245                         <listitem><para>L: Automatic Locking</para></listitem>
246                         <listitem><para>X: Password does not expire</para></listitem>
247                         <listitem><para>I: Domain Trust Account</para></listitem>
248                 </itemizedlist>
249         </para>
251                 <para>Example: <command>-c "[X          ]"</command></para>
252                 </listitem>
253                 </varlistentry>
255                 <varlistentry>
256                 <term>-a</term>
257                 <listitem><para>This option is used to add a user into the
258                 database. This command needs a user name specified with
259                 the -u switch. When adding a new user, pdbedit will also
260                 ask for the password to be used.</para>
262                 <para>Example: <command>pdbedit -a -u sorce</command>
263 <programlisting>new password:
264 retype new password
265 </programlisting>
266 </para>
268                 <note><para>pdbedit does not call the unix password syncronisation 
269                                 script if <smbconfoption name="unix password sync"/>
270                                 has been set. It only updates the data in the Samba 
271                                 user database. 
272                         </para>
274                         <para>If you wish to add a user and synchronise the password
275                                 that immediately, use <command>smbpasswd</command>'s <option>-a</option> option.
276                         </para>
277                 </note>
278                 </listitem>
279                 </varlistentry>
280                 
281                 <varlistentry>
282                 <term>-t, --password-from-stdin</term>
283                 <listitem><para>This option causes pdbedit to read the password
284                 from standard input, rather than from /dev/tty (like the
285                 <command>passwd(1)</command> program does).  The password has
286                 to be submitted twice and terminated by a newline each.</para>
287                 </listitem>
288                 </varlistentry>
290                 <varlistentry>
291                 <term>-r</term>
292                 <listitem><para>This option is used to modify an existing user 
293                 in the database. This command needs a user name specified with the -u 
294                 switch. Other options can be specified to modify the properties of 
295                 the specified user. This flag is kept for backwards compatibility, but 
296                 it is no longer necessary to specify it.
297                 </para></listitem>
298                 </varlistentry>
299                         
300                 <varlistentry>
301                 <term>-m</term>
302                 <listitem><para>This option may only be used in conjunction 
303                 with the <parameter>-a</parameter> option. It will make
304                 pdbedit to add a machine trust account instead of a user
305                 account (-u username will provide the machine name).</para>
307                 <para>Example: <command>pdbedit -a -m -u w2k-wks</command>
308                 </para>
309                 </listitem>
310                 </varlistentry>
311                 
312                 
313                 <varlistentry>
314                 <term>-x</term>
315                 <listitem><para>This option causes pdbedit to delete an account
316                 from the database. It needs a username specified with the
317                 -u switch.</para>
319                 <para>Example: <command>pdbedit -x -u bob</command></para>
320                 </listitem>
321                 </varlistentry>
322                 
324                 <varlistentry>
325                 <term>-i passdb-backend</term>
326                 <listitem><para>Use a different passdb backend to retrieve users
327                 than the one specified in smb.conf. Can be used to import data into
328                 your local user database.</para>
330                 <para>This option will ease migration from one passdb backend to
331                 another.</para>
333                 <para>Example: <command>pdbedit -i smbpasswd:/etc/smbpasswd.old
334                 </command></para>
335                 </listitem>
336                 </varlistentry>
338                 <varlistentry>
339                 <term>-e passdb-backend</term>
340                 <listitem><para>Exports all currently available users to the
341                 specified password database backend.</para>
343                 <para>This option will ease migration from one passdb backend to
344                 another and will ease backing up.</para>
345                 
346                 <para>Example: <command>pdbedit -e smbpasswd:/root/samba-users.backup</command></para>
347                 </listitem>
348                 </varlistentry>
350                 <varlistentry>
351                 <term>-g</term>
352                 <listitem><para>If you specify <parameter>-g</parameter>,
353                 then <parameter>-i in-backend -e out-backend</parameter>
354                 applies to the group mapping instead of the user database.</para>
356                 <para>This option will ease migration from one passdb backend to
357                 another and will ease backing up.</para>
358                 
359                 </listitem>
360                 </varlistentry>
362                 <varlistentry>
363                 <term>-b passdb-backend</term>
364                 <listitem><para>Use a different default passdb backend. </para>
366                 <para>Example: <command>pdbedit -b xml:/root/pdb-backup.xml -l</command></para>
367                 </listitem>
368                 </varlistentry>
370                 <varlistentry>
371                 <term>-P account-policy</term>
372                 <listitem><para>Display an account policy</para>
373                 <para>Valid policies are: minimum password age, reset count minutes, disconnect time,
374                 user must logon to change password, password history, lockout duration, min password length,
375                 maximum password age and bad lockout attempt.</para>
377                 <para>Example: <command>pdbedit -P "bad lockout attempt"</command></para>
378 <para><programlisting>
379 account policy value for bad lockout attempt is 0
380 </programlisting></para>
382                 </listitem>
383                 </varlistentry>
386                 <varlistentry>
387                 <term>-C account-policy-value</term>
388                 <listitem><para>Sets an account policy to a specified value. 
389                 This option may only be used in conjunction
390                 with the <parameter>-P</parameter> option.
391                 </para>
393                 <para>Example: <command>pdbedit -P "bad lockout attempt" -C 3</command></para>
394 <para><programlisting>
395 account policy value for bad lockout attempt was 0
396 account policy value for bad lockout attempt is now 3
397 </programlisting></para>
398                 </listitem>
399                 </varlistentry>
401                 <varlistentry>
402                 <term>-y</term>
403                 <listitem><para>If you specify <parameter>-y</parameter>,
404                 then <parameter>-i in-backend -e out-backend</parameter>
405                 applies to the account policies instead of the user database.</para>
407                 <para>This option will allow to migrate account policies from their default
408                 tdb-store into a passdb backend, e.g. an LDAP directory server.</para>
410                 <para>Example: <command>pdbedit -y -i tdbsam: -e ldapsam:ldap://my.ldap.host</command></para>
411         
412                 </listitem>
413                 </varlistentry>
415                 &stdarg.help;
416                 &stdarg.server.debug;
417                 &popt.common.samba;
419         </variablelist>
420 </refsect1>
423 <refsect1>
424         <title>NOTES</title>
425         
426         <para>This command may be used only by root.</para>
427 </refsect1>
430 <refsect1>
431         <title>VERSION</title>
433         <para>This man page is correct for version 3 of 
434         the Samba suite.</para>
435 </refsect1>
437 <refsect1>
438         <title>SEE ALSO</title>
439         <para><citerefentry><refentrytitle>smbpasswd</refentrytitle>
440         <manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>samba</refentrytitle>
441         <manvolnum>7</manvolnum></citerefentry></para>
442 </refsect1>
444 <refsect1>
445         <title>AUTHOR</title>
446         
447         <para>The original Samba software and related utilities 
448         were created by Andrew Tridgell. Samba is now developed
449         by the Samba Team as an Open Source project similar 
450         to the way the Linux kernel is developed.</para>
452         <para>The pdbedit manpage was written by Simo Sorce and Jelmer Vernooij.</para>
454 </refsect1>
456 </refentry>