d0ea811838b023a908bcecb838825881c3ceecee
[ira/wip.git] / docs-xml / manpages-3 / pdbedit.8.xml
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">
4
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.6</refmiscinfo>
11 </refmeta>
12
13
14 <refnamediv>
15         <refname>pdbedit</refname>
16         <refpurpose>manage the SAM database (Database of Samba Users)</refpurpose>
17 </refnamediv>
18
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>
48
49 <refsect1>
50         <title>DESCRIPTION</title>
51
52         <para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
53         <manvolnum>7</manvolnum></citerefentry> suite.</para>
54
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>
57
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>
62
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>
67
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>
92
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>
127
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>
150
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>
156
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>
166
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>
177
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>
189
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>
201
202                 <para>Example: <command>-p "\\\\BERSERKER\\netlogon"</command>
203                 </para>
204                 </listitem>
205                 </varlistentry>
206
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>
213
214                 <para>Example: <command>-G S-1-5-21-2447931902-1787058256-3961074038-1201</command></para>
215                 </listitem>
216                 </varlistentry>
217
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>
224
225                 <para>Example: <command>-U S-1-5-21-2447931902-1787058256-3961074038-5004</command></para>
226                 </listitem>
227                 </varlistentry>
228
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>
234
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>
250
251                 <para>Example: <command>-c "[X          ]"</command></para>
252                 </listitem>
253                 </varlistentry>
254
255                 <varlistentry>
256                 <term>-K|--kickoff-time</term>
257                 <listitem><para>This option is used to modify the kickoff
258                 time for a certain user. Use "never" as argument to set the
259                 kickoff time to unlimited.
260                 </para>
261                 <para>Example: <command>pdbedit -K never user</command></para>
262                 </listitem>
263                 </varlistentry>
264
265                 <varlistentry>
266                 <term>-a</term>
267                 <listitem><para>This option is used to add a user into the
268                 database. This command needs a user name specified with
269                 the -u switch. When adding a new user, pdbedit will also
270                 ask for the password to be used.</para>
271
272                 <para>Example: <command>pdbedit -a -u sorce</command>
273 <programlisting>new password:
274 retype new password
275 </programlisting>
276 </para>
277
278                 <note><para>pdbedit does not call the unix password syncronisation 
279                                 script if <smbconfoption name="unix password sync"/>
280                                 has been set. It only updates the data in the Samba 
281                                 user database. 
282                         </para>
283
284                         <para>If you wish to add a user and synchronise the password
285                                 that immediately, use <command>smbpasswd</command>'s <option>-a</option> option.
286                         </para>
287                 </note>
288                 </listitem>
289                 </varlistentry>
290                 
291                 <varlistentry>
292                 <term>-t, --password-from-stdin</term>
293                 <listitem><para>This option causes pdbedit to read the password
294                 from standard input, rather than from /dev/tty (like the
295                 <command>passwd(1)</command> program does).  The password has
296                 to be submitted twice and terminated by a newline each.</para>
297                 </listitem>
298                 </varlistentry>
299
300                 <varlistentry>
301                 <term>-r</term>
302                 <listitem><para>This option is used to modify an existing user 
303                 in the database. This command needs a user name specified with the -u 
304                 switch. Other options can be specified to modify the properties of 
305                 the specified user. This flag is kept for backwards compatibility, but 
306                 it is no longer necessary to specify it.
307                 </para></listitem>
308                 </varlistentry>
309                         
310                 <varlistentry>
311                 <term>-m</term>
312                 <listitem><para>This option may only be used in conjunction 
313                 with the <parameter>-a</parameter> option. It will make
314                 pdbedit to add a machine trust account instead of a user
315                 account (-u username will provide the machine name).</para>
316
317                 <para>Example: <command>pdbedit -a -m -u w2k-wks</command>
318                 </para>
319                 </listitem>
320                 </varlistentry>
321                 
322                 
323                 <varlistentry>
324                 <term>-x</term>
325                 <listitem><para>This option causes pdbedit to delete an account
326                 from the database. It needs a username specified with the
327                 -u switch.</para>
328
329                 <para>Example: <command>pdbedit -x -u bob</command></para>
330                 </listitem>
331                 </varlistentry>
332                 
333
334                 <varlistentry>
335                 <term>-i passdb-backend</term>
336                 <listitem><para>Use a different passdb backend to retrieve users
337                 than the one specified in smb.conf. Can be used to import data into
338                 your local user database.</para>
339
340                 <para>This option will ease migration from one passdb backend to
341                 another.</para>
342
343                 <para>Example: <command>pdbedit -i smbpasswd:/etc/smbpasswd.old
344                 </command></para>
345                 </listitem>
346                 </varlistentry>
347
348                 <varlistentry>
349                 <term>-e passdb-backend</term>
350                 <listitem><para>Exports all currently available users to the
351                 specified password database backend.</para>
352
353                 <para>This option will ease migration from one passdb backend to
354                 another and will ease backing up.</para>
355                 
356                 <para>Example: <command>pdbedit -e smbpasswd:/root/samba-users.backup</command></para>
357                 </listitem>
358                 </varlistentry>
359
360                 <varlistentry>
361                 <term>-g</term>
362                 <listitem><para>If you specify <parameter>-g</parameter>,
363                 then <parameter>-i in-backend -e out-backend</parameter>
364                 applies to the group mapping instead of the user database.</para>
365
366                 <para>This option will ease migration from one passdb backend to
367                 another and will ease backing up.</para>
368                 
369                 </listitem>
370                 </varlistentry>
371
372                 <varlistentry>
373                 <term>-b passdb-backend</term>
374                 <listitem><para>Use a different default passdb backend. </para>
375
376                 <para>Example: <command>pdbedit -b xml:/root/pdb-backup.xml -l</command></para>
377                 </listitem>
378                 </varlistentry>
379
380                 <varlistentry>
381                 <term>-P account-policy</term>
382                 <listitem><para>Display an account policy</para>
383                 <para>Valid policies are: minimum password age, reset count minutes, disconnect time,
384                 user must logon to change password, password history, lockout duration, min password length,
385                 maximum password age and bad lockout attempt.</para>
386
387                 <para>Example: <command>pdbedit -P "bad lockout attempt"</command></para>
388 <para><programlisting>
389 account policy value for bad lockout attempt is 0
390 </programlisting></para>
391
392                 </listitem>
393                 </varlistentry>
394
395
396                 <varlistentry>
397                 <term>-C account-policy-value</term>
398                 <listitem><para>Sets an account policy to a specified value. 
399                 This option may only be used in conjunction
400                 with the <parameter>-P</parameter> option.
401                 </para>
402
403                 <para>Example: <command>pdbedit -P "bad lockout attempt" -C 3</command></para>
404 <para><programlisting>
405 account policy value for bad lockout attempt was 0
406 account policy value for bad lockout attempt is now 3
407 </programlisting></para>
408                 </listitem>
409                 </varlistentry>
410
411                 <varlistentry>
412                 <term>-y</term>
413                 <listitem><para>If you specify <parameter>-y</parameter>,
414                 then <parameter>-i in-backend -e out-backend</parameter>
415                 applies to the account policies instead of the user database.</para>
416
417                 <para>This option will allow to migrate account policies from their default
418                 tdb-store into a passdb backend, e.g. an LDAP directory server.</para>
419
420                 <para>Example: <command>pdbedit -y -i tdbsam: -e ldapsam:ldap://my.ldap.host</command></para>
421         
422                 </listitem>
423                 </varlistentry>
424
425                 &stdarg.help;
426                 &stdarg.server.debug;
427                 &popt.common.samba;
428
429         </variablelist>
430 </refsect1>
431
432
433 <refsect1>
434         <title>NOTES</title>
435         
436         <para>This command may be used only by root.</para>
437 </refsect1>
438
439
440 <refsect1>
441         <title>VERSION</title>
442
443         <para>This man page is correct for version 3 of 
444         the Samba suite.</para>
445 </refsect1>
446
447 <refsect1>
448         <title>SEE ALSO</title>
449         <para><citerefentry><refentrytitle>smbpasswd</refentrytitle>
450         <manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>samba</refentrytitle>
451         <manvolnum>7</manvolnum></citerefentry></para>
452 </refsect1>
453
454 <refsect1>
455         <title>AUTHOR</title>
456         
457         <para>The original Samba software and related utilities 
458         were created by Andrew Tridgell. Samba is now developed
459         by the Samba Team as an Open Source project similar 
460         to the way the Linux kernel is developed.</para>
461
462         <para>The pdbedit manpage was written by Simo Sorce and Jelmer Vernooij.</para>
463
464 </refsect1>
465
466 </refentry>