Add some more common errors
[sfrench/samba-autobuild/.git] / docs / htmldocs / winbindd.8.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
2 <HTML
3 ><HEAD
4 ><TITLE
5 >winbindd</TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
9 "></HEAD
10 ><BODY
11 CLASS="REFENTRY"
12 BGCOLOR="#FFFFFF"
13 TEXT="#000000"
14 LINK="#0000FF"
15 VLINK="#840084"
16 ALINK="#0000FF"
17 ><H1
18 ><A
19 NAME="WINBINDD">winbindd</H1
20 ><DIV
21 CLASS="REFNAMEDIV"
22 ><A
23 NAME="AEN5"
24 ></A
25 ><H2
26 >Name</H2
27 >winbindd&nbsp;--&nbsp;Name Service Switch daemon for resolving names 
28         from NT servers</DIV
29 ><DIV
30 CLASS="REFSYNOPSISDIV"
31 ><A
32 NAME="AEN8"><H2
33 >Synopsis</H2
34 ><P
35 ><B
36 CLASS="COMMAND"
37 >winbindd</B
38 > [-F] [-S] [-i] [-B] [-d &#60;debug level&#62;] [-s &#60;smb config file&#62;] [-n]</P
39 ></DIV
40 ><DIV
41 CLASS="REFSECT1"
42 ><A
43 NAME="AEN18"
44 ></A
45 ><H2
46 >DESCRIPTION</H2
47 ><P
48 >This program is part of the <A
49 HREF="samba.7.html"
50 TARGET="_top"
51 >       Samba</A
52 > suite.</P
53 ><P
54 ><B
55 CLASS="COMMAND"
56 >winbindd</B
57 > is a daemon that provides 
58         a service for the Name Service Switch capability that is present 
59         in most modern C libraries.  The Name Service Switch allows user 
60         and system information to be obtained from different databases 
61         services such as NIS or DNS.  The exact behaviour can be configured 
62         throught the <TT
63 CLASS="FILENAME"
64 >/etc/nsswitch.conf</TT
65 > file.  
66         Users and groups are allocated as they are resolved to a range 
67         of user and group ids specified by the administrator of the 
68         Samba system.</P
69 ><P
70 >The service provided by <B
71 CLASS="COMMAND"
72 >winbindd</B
73 > is called `winbind' and 
74         can be used to resolve user and group information from a 
75         Windows NT server. The service can also provide authentication
76         services via an associated PAM module. </P
77 ><P
78 >       The <TT
79 CLASS="FILENAME"
80 >pam_winbind</TT
81 > module in the 2.2.2 release only 
82         supports the <TT
83 CLASS="PARAMETER"
84 ><I
85 >auth</I
86 ></TT
87 > and <TT
88 CLASS="PARAMETER"
89 ><I
90 >account</I
91 ></TT
92
93         module-types.  The latter simply
94         performs a getpwnam() to verify that the system can obtain a uid for the
95         user.  If the <TT
96 CLASS="FILENAME"
97 >libnss_winbind</TT
98 > library has been correctly 
99         installed, this should always succeed.
100         </P
101 ><P
102 >The following nsswitch databases are implemented by 
103         the winbindd service: </P
104 ><P
105 ></P
106 ><DIV
107 CLASS="VARIABLELIST"
108 ><DL
109 ><DT
110 >hosts</DT
111 ><DD
112 ><P
113 >User information traditionally stored in 
114                 the <TT
115 CLASS="FILENAME"
116 >hosts(5)</TT
117 > file and used by 
118                 <B
119 CLASS="COMMAND"
120 >gethostbyname(3)</B
121 > functions. Names are
122                 resolved through the WINS server or by broadcast.
123                 </P
124 ></DD
125 ><DT
126 >passwd</DT
127 ><DD
128 ><P
129 >User information traditionally stored in 
130                 the <TT
131 CLASS="FILENAME"
132 >passwd(5)</TT
133 > file and used by 
134                 <B
135 CLASS="COMMAND"
136 >getpwent(3)</B
137 > functions. </P
138 ></DD
139 ><DT
140 >group</DT
141 ><DD
142 ><P
143 >Group information traditionally stored in 
144                 the <TT
145 CLASS="FILENAME"
146 >group(5)</TT
147 > file and used by              
148                 <B
149 CLASS="COMMAND"
150 >getgrent(3)</B
151 > functions. </P
152 ></DD
153 ></DL
154 ></DIV
155 ><P
156 >For example, the following simple configuration in the
157         <TT
158 CLASS="FILENAME"
159 >/etc/nsswitch.conf</TT
160 > file can be used to initially 
161         resolve user and group information from <TT
162 CLASS="FILENAME"
163 >/etc/passwd
164         </TT
165 > and <TT
166 CLASS="FILENAME"
167 >/etc/group</TT
168 > and then from the 
169         Windows NT server. </P
170 ><P
171 ><TABLE
172 BORDER="0"
173 BGCOLOR="#E0E0E0"
174 WIDTH="100%"
175 ><TR
176 ><TD
177 ><PRE
178 CLASS="PROGRAMLISTING"
179 >passwd:         files winbind
180 group:          files winbind
181         </PRE
182 ></TD
183 ></TR
184 ></TABLE
185 ></P
186 ><P
187 >The following simple configuration in the
188         <TT
189 CLASS="FILENAME"
190 >/etc/nsswitch.conf</TT
191 > file can be used to initially
192         resolve hostnames from <TT
193 CLASS="FILENAME"
194 >/etc/hosts</TT
195 > and then from the
196         WINS server.</P
197 ></DIV
198 ><DIV
199 CLASS="REFSECT1"
200 ><A
201 NAME="AEN61"
202 ></A
203 ><H2
204 >OPTIONS</H2
205 ><P
206 ></P
207 ><DIV
208 CLASS="VARIABLELIST"
209 ><DL
210 ><DT
211 >-F</DT
212 ><DD
213 ><P
214 >If specified, this parameter causes
215                 the main <B
216 CLASS="COMMAND"
217 >winbindd</B
218 > process to not daemonize,
219                 i.e. double-fork and disassociate with the terminal.
220                 Child processes are still created as normal to service
221                 each connection request, but the main process does not
222                 exit. This operation mode is suitable for running
223                 <B
224 CLASS="COMMAND"
225 >winbindd</B
226 > under process supervisors such
227                 as <B
228 CLASS="COMMAND"
229 >supervise</B
230 > and <B
231 CLASS="COMMAND"
232 >svscan</B
233 >
234                 from Daniel J. Bernstein's <B
235 CLASS="COMMAND"
236 >daemontools</B
237 >
238                 package, or the AIX process monitor.
239                 </P
240 ></DD
241 ><DT
242 >-S</DT
243 ><DD
244 ><P
245 >If specified, this parameter causes
246                 <B
247 CLASS="COMMAND"
248 >winbindd</B
249 > to log to standard output rather
250                 than a file.</P
251 ></DD
252 ><DT
253 >-d debuglevel</DT
254 ><DD
255 ><P
256 >Sets the debuglevel to an integer between 
257                 0 and 100. 0 is for no debugging and 100 is for reams and 
258                 reams. To submit a bug report to the Samba Team, use debug 
259                 level 100 (see BUGS.txt).   </P
260 ></DD
261 ><DT
262 >-i</DT
263 ><DD
264 ><P
265 >Tells <B
266 CLASS="COMMAND"
267 >winbindd</B
268 > to not 
269                 become a daemon and detach from the current terminal. This 
270                 option is used by developers when interactive debugging 
271                 of <B
272 CLASS="COMMAND"
273 >winbindd</B
274 > is required.
275                 <B
276 CLASS="COMMAND"
277 >winbindd</B
278 > also logs to standard output,
279                 as if the <B
280 CLASS="COMMAND"
281 >-S</B
282 > parameter had been given.
283                 </P
284 ></DD
285 ><DT
286 >-n</DT
287 ><DD
288 ><P
289 >Disable caching. This means winbindd will 
290                 always have to wait for a response from the domain controller 
291                 before it can respond to a client and this thus makes things 
292                 slower. The results will however be more accurate, since 
293                 results from the cache might not be up-to-date. This 
294                 might also temporarily hang winbindd if the DC doesn't respond.
295                 </P
296 ></DD
297 ><DT
298 >-B</DT
299 ><DD
300 ><P
301 >Dual daemon mode. This means winbindd will run 
302                 as 2 threads. The first will answer all requests from the cache, 
303                 thus making responses to clients faster. The other will 
304                 update the cache for the query that the first has just responded. 
305                 Advantage of this is that responses are accurate and fast.
306                 </P
307 ></DD
308 ><DT
309 >-s|--conf=smb.conf</DT
310 ><DD
311 ><P
312 >Specifies the location of the all-important
313                 <TT
314 CLASS="FILENAME"
315 >smb.conf</TT
316 > file. </P
317 ></DD
318 ></DL
319 ></DIV
320 ></DIV
321 ><DIV
322 CLASS="REFSECT1"
323 ><A
324 NAME="AEN103"
325 ></A
326 ><H2
327 >NAME AND ID RESOLUTION</H2
328 ><P
329 >Users and groups on a Windows NT server are assigned 
330         a relative id (rid) which is unique for the domain when the 
331         user or group is created.  To convert the Windows NT user or group 
332         into a unix user or group, a mapping between rids and unix user 
333         and group ids is required.  This is one of the jobs that <B
334 CLASS="COMMAND"
335 >       winbindd</B
336 > performs. </P
337 ><P
338 >As winbindd users and groups are resolved from a server, user 
339         and group ids are allocated from a specified range.  This
340         is done on a first come, first served basis, although all existing 
341         users and groups will be mapped as soon as a client performs a user 
342         or group enumeration command.  The allocated unix ids are stored 
343         in a database file under the Samba lock directory and will be 
344         remembered. </P
345 ><P
346 >WARNING: The rid to unix id database is the only location 
347         where the user and group mappings are stored by winbindd.  If this 
348         file is deleted or corrupted, there is no way for winbindd to 
349         determine which user and group ids correspond to Windows NT user 
350         and group rids. </P
351 ></DIV
352 ><DIV
353 CLASS="REFSECT1"
354 ><A
355 NAME="AEN109"
356 ></A
357 ><H2
358 >CONFIGURATION</H2
359 ><P
360 >Configuration of the <B
361 CLASS="COMMAND"
362 >winbindd</B
363 > daemon 
364         is done through configuration parameters in the <TT
365 CLASS="FILENAME"
366 >smb.conf(5)
367         </TT
368 > file.  All parameters should be specified in the 
369         [global] section of smb.conf. </P
370 ><P
371 ></P
372 ><UL
373 ><LI
374 ><P
375 ><A
376 HREF="smb.conf.5.html#WINBINDSEPARATOR"
377 TARGET="_top"
378 >               <TT
379 CLASS="PARAMETER"
380 ><I
381 >winbind separator</I
382 ></TT
383 ></A
384 ></P
385 ></LI
386 ><LI
387 ><P
388 ><A
389 HREF="smb.conf.5.html#WINBINDUID"
390 TARGET="_top"
391 >               <TT
392 CLASS="PARAMETER"
393 ><I
394 >winbind uid</I
395 ></TT
396 ></A
397 ></P
398 ></LI
399 ><LI
400 ><P
401 ><A
402 HREF="smb.conf.5.html#WINBINDGID"
403 TARGET="_top"
404 >               <TT
405 CLASS="PARAMETER"
406 ><I
407 >winbind gid</I
408 ></TT
409 ></A
410 ></P
411 ></LI
412 ><LI
413 ><P
414 ><A
415 HREF="smb.conf.5.html#WINBINDCACHETIME"
416 TARGET="_top"
417 >               <TT
418 CLASS="PARAMETER"
419 ><I
420 >winbind cache time</I
421 ></TT
422 ></A
423 ></P
424 ></LI
425 ><LI
426 ><P
427 ><A
428 HREF="smb.conf.5.html#WINBINDENUMUSERS"
429 TARGET="_top"
430 >               <TT
431 CLASS="PARAMETER"
432 ><I
433 >winbind enum users</I
434 ></TT
435 ></A
436 ></P
437 ></LI
438 ><LI
439 ><P
440 ><A
441 HREF="smb.conf.5.html#WINBINDENUMGROUPS"
442 TARGET="_top"
443 >               <TT
444 CLASS="PARAMETER"
445 ><I
446 >winbind enum groups</I
447 ></TT
448 ></A
449 ></P
450 ></LI
451 ><LI
452 ><P
453 ><A
454 HREF="smb.conf.5.html#TEMPLATEHOMEDIR"
455 TARGET="_top"
456 >               <TT
457 CLASS="PARAMETER"
458 ><I
459 >template homedir</I
460 ></TT
461 ></A
462 ></P
463 ></LI
464 ><LI
465 ><P
466 ><A
467 HREF="smb.conf.5.html#TEMPLATESHELL"
468 TARGET="_top"
469 >               <TT
470 CLASS="PARAMETER"
471 ><I
472 >template shell</I
473 ></TT
474 ></A
475 ></P
476 ></LI
477 ><LI
478 ><P
479 ><A
480 HREF="smb.conf.5.html#WINBINDUSEDEFAULTDOMAIN"
481 TARGET="_top"
482 >               <TT
483 CLASS="PARAMETER"
484 ><I
485 >winbind use default domain</I
486 ></TT
487 ></A
488 ></P
489 ></LI
490 ></UL
491 ></DIV
492 ><DIV
493 CLASS="REFSECT1"
494 ><A
495 NAME="AEN151"
496 ></A
497 ><H2
498 >EXAMPLE SETUP</H2
499 ><P
500 >To setup winbindd for user and group lookups plus 
501         authentication from a domain controller use something like the 
502         following setup. This was tested on a RedHat 6.2 Linux box. </P
503 ><P
504 >In <TT
505 CLASS="FILENAME"
506 >/etc/nsswitch.conf</TT
507 > put the 
508         following:</P
509 ><P
510 ><TABLE
511 BORDER="0"
512 BGCOLOR="#E0E0E0"
513 WIDTH="100%"
514 ><TR
515 ><TD
516 ><PRE
517 CLASS="PROGRAMLISTING"
518 >passwd:     files winbind
519 group:      files winbind
520         </PRE
521 ></TD
522 ></TR
523 ></TABLE
524 ></P
525 ><P
526 >In <TT
527 CLASS="FILENAME"
528 >/etc/pam.d/*</TT
529 > replace the 
530         <TT
531 CLASS="PARAMETER"
532 ><I
533 >auth</I
534 ></TT
535 > lines with something like this: </P
536 ><P
537 ><TABLE
538 BORDER="0"
539 BGCOLOR="#E0E0E0"
540 WIDTH="100%"
541 ><TR
542 ><TD
543 ><PRE
544 CLASS="PROGRAMLISTING"
545 >auth       required    /lib/security/pam_securetty.so
546 auth       required     /lib/security/pam_nologin.so
547 auth       sufficient   /lib/security/pam_winbind.so
548 auth       required     /lib/security/pam_pwdb.so use_first_pass shadow nullok
549         </PRE
550 ></TD
551 ></TR
552 ></TABLE
553 ></P
554 ><P
555 >Note in particular the use of the <TT
556 CLASS="PARAMETER"
557 ><I
558 >sufficient</I
559 ></TT
560
561         keyword and the <TT
562 CLASS="PARAMETER"
563 ><I
564 >use_first_pass</I
565 ></TT
566 > keyword. </P
567 ><P
568 >Now replace the account lines with this: </P
569 ><P
570 ><B
571 CLASS="COMMAND"
572 >account    required    /lib/security/pam_winbind.so
573         </B
574 ></P
575 ><P
576 >The next step is to join the domain. To do that use the 
577         <B
578 CLASS="COMMAND"
579 >smbpasswd</B
580 > program like this:  </P
581 ><P
582 ><B
583 CLASS="COMMAND"
584 >smbpasswd -j DOMAIN -r PDC -U
585         Administrator</B
586 ></P
587 ><P
588 >The username after the <TT
589 CLASS="PARAMETER"
590 ><I
591 >-U</I
592 ></TT
593 > can be any
594         Domain user that has administrator privileges on the machine.
595         Substitute your domain name for "DOMAIN" and the name of your PDC
596         for "PDC".</P
597 ><P
598 >Next copy <TT
599 CLASS="FILENAME"
600 >libnss_winbind.so</TT
601 > to 
602         <TT
603 CLASS="FILENAME"
604 >/lib</TT
605 > and <TT
606 CLASS="FILENAME"
607 >pam_winbind.so</TT
608 >
609         to <TT
610 CLASS="FILENAME"
611 >/lib/security</TT
612 >.  A symbolic link needs to be
613         made from <TT
614 CLASS="FILENAME"
615 >/lib/libnss_winbind.so</TT
616 > to
617         <TT
618 CLASS="FILENAME"
619 >/lib/libnss_winbind.so.2</TT
620 >.  If you are using an
621         older version of glibc then the target of the link should be
622         <TT
623 CLASS="FILENAME"
624 >/lib/libnss_winbind.so.1</TT
625 >.</P
626 ><P
627 >Finally, setup a <TT
628 CLASS="FILENAME"
629 >smb.conf</TT
630 > containing directives like the 
631         following:  </P
632 ><P
633 ><TABLE
634 BORDER="0"
635 BGCOLOR="#E0E0E0"
636 WIDTH="100%"
637 ><TR
638 ><TD
639 ><PRE
640 CLASS="PROGRAMLISTING"
641 >[global]
642         winbind separator = +
643         winbind cache time = 10
644         template shell = /bin/bash
645         template homedir = /home/%D/%U
646         winbind uid = 10000-20000
647         winbind gid = 10000-20000
648         workgroup = DOMAIN
649         security = domain
650         password server = *
651         </PRE
652 ></TD
653 ></TR
654 ></TABLE
655 ></P
656 ><P
657 >Now start winbindd and you should find that your user and 
658         group database is expanded to include your NT users and groups, 
659         and that you can login to your unix box as a domain user, using 
660         the DOMAIN+user syntax for the username. You may wish to use the 
661         commands <B
662 CLASS="COMMAND"
663 >getent passwd</B
664 > and <B
665 CLASS="COMMAND"
666 >getent group
667         </B
668 > to confirm the correct operation of winbindd.</P
669 ></DIV
670 ><DIV
671 CLASS="REFSECT1"
672 ><A
673 NAME="AEN190"
674 ></A
675 ><H2
676 >NOTES</H2
677 ><P
678 >The following notes are useful when configuring and 
679         running <B
680 CLASS="COMMAND"
681 >winbindd</B
682 >: </P
683 ><P
684 ><B
685 CLASS="COMMAND"
686 >nmbd</B
687 > must be running on the local machine 
688         for <B
689 CLASS="COMMAND"
690 >winbindd</B
691 > to work. <B
692 CLASS="COMMAND"
693 >winbindd</B
694 >
695         queries the list of trusted domains for the Windows NT server
696         on startup and when a SIGHUP is received.  Thus, for a running <B
697 CLASS="COMMAND"
698 >       winbindd</B
699 > to become aware of new trust relationships between 
700         servers, it must be sent a SIGHUP signal. </P
701 ><P
702 >Client processes resolving names through the <B
703 CLASS="COMMAND"
704 >winbindd</B
705 >
706         nsswitch module read an environment variable named <TT
707 CLASS="ENVAR"
708 >       $WINBINDD_DOMAIN</TT
709 >.  If this variable contains a comma separated
710         list of Windows NT domain names, then winbindd will only resolve users
711         and groups within those Windows NT domains. </P
712 ><P
713 >PAM is really easy to misconfigure.  Make sure you know what 
714         you are doing when modifying PAM configuration files.  It is possible 
715         to set up PAM such that you can no longer log into your system. </P
716 ><P
717 >If more than one UNIX machine is running <B
718 CLASS="COMMAND"
719 >winbindd</B
720 >, 
721         then in general the user and groups ids allocated by winbindd will not 
722         be the same.  The user and group ids will only be valid for the local 
723         machine.</P
724 ><P
725 >If the the Windows NT RID to UNIX user and group id mapping 
726         file is damaged or destroyed then the mappings will be lost. </P
727 ></DIV
728 ><DIV
729 CLASS="REFSECT1"
730 ><A
731 NAME="AEN206"
732 ></A
733 ><H2
734 >SIGNALS</H2
735 ><P
736 >The following signals can be used to manipulate the 
737         <B
738 CLASS="COMMAND"
739 >winbindd</B
740 > daemon. </P
741 ><P
742 ></P
743 ><DIV
744 CLASS="VARIABLELIST"
745 ><DL
746 ><DT
747 >SIGHUP</DT
748 ><DD
749 ><P
750 >Reload the <TT
751 CLASS="FILENAME"
752 >smb.conf(5)</TT
753 >
754                 file and apply any parameter changes to the running 
755                 version of winbindd.  This signal also clears any cached 
756                 user and group information.  The list of other domains trusted 
757                 by winbindd is also reloaded.  </P
758 ></DD
759 ><DT
760 >SIGUSR1</DT
761 ><DD
762 ><P
763 >The SIGUSR1 signal will cause <B
764 CLASS="COMMAND"
765 >               winbindd</B
766 > to write status information to the winbind 
767                 log file including information about the number of user and 
768                 group ids allocated by <B
769 CLASS="COMMAND"
770 >winbindd</B
771 >.</P
772 ><P
773 >Log files are stored in the filename specified by the 
774                 log file parameter.</P
775 ></DD
776 ></DL
777 ></DIV
778 ></DIV
779 ><DIV
780 CLASS="REFSECT1"
781 ><A
782 NAME="AEN223"
783 ></A
784 ><H2
785 >FILES</H2
786 ><P
787 ></P
788 ><DIV
789 CLASS="VARIABLELIST"
790 ><DL
791 ><DT
792 ><TT
793 CLASS="FILENAME"
794 >/etc/nsswitch.conf(5)</TT
795 ></DT
796 ><DD
797 ><P
798 >Name service switch configuration file.</P
799 ></DD
800 ><DT
801 >/tmp/.winbindd/pipe</DT
802 ><DD
803 ><P
804 >The UNIX pipe over which clients communicate with 
805                 the <B
806 CLASS="COMMAND"
807 >winbindd</B
808 > program.  For security reasons, the 
809                 winbind client will only attempt to connect to the winbindd daemon 
810                 if both the <TT
811 CLASS="FILENAME"
812 >/tmp/.winbindd</TT
813 > directory
814                 and <TT
815 CLASS="FILENAME"
816 >/tmp/.winbindd/pipe</TT
817 > file are owned by 
818                 root. </P
819 ></DD
820 ><DT
821 >/lib/libnss_winbind.so.X</DT
822 ><DD
823 ><P
824 >Implementation of name service switch library.
825                 </P
826 ></DD
827 ><DT
828 >$LOCKDIR/winbindd_idmap.tdb</DT
829 ><DD
830 ><P
831 >Storage for the Windows NT rid to UNIX user/group 
832                 id mapping.  The lock directory is specified when Samba is initially 
833                 compiled using the <TT
834 CLASS="PARAMETER"
835 ><I
836 >--with-lockdir</I
837 ></TT
838 > option.
839                 This directory is by default <TT
840 CLASS="FILENAME"
841 >/usr/local/samba/var/locks
842                 </TT
843 >. </P
844 ></DD
845 ><DT
846 >$LOCKDIR/winbindd_cache.tdb</DT
847 ><DD
848 ><P
849 >Storage for cached user and group information.
850                 </P
851 ></DD
852 ></DL
853 ></DIV
854 ></DIV
855 ><DIV
856 CLASS="REFSECT1"
857 ><A
858 NAME="AEN252"
859 ></A
860 ><H2
861 >VERSION</H2
862 ><P
863 >This man page is correct for version 3.0 of
864         the Samba suite.</P
865 ></DIV
866 ><DIV
867 CLASS="REFSECT1"
868 ><A
869 NAME="AEN255"
870 ></A
871 ><H2
872 >SEE ALSO</H2
873 ><P
874 ><TT
875 CLASS="FILENAME"
876 >nsswitch.conf(5)</TT
877 >,
878         <A
879 HREF="samba.7.html"
880 TARGET="_top"
881 >samba(7)</A
882 >,
883         <A
884 HREF="wbinfo.1.html"
885 TARGET="_top"
886 >wbinfo(1)</A
887 >,
888         <A
889 HREF="smb.conf.5.html"
890 TARGET="_top"
891 >smb.conf(5)</A
892 ></P
893 ></DIV
894 ><DIV
895 CLASS="REFSECT1"
896 ><A
897 NAME="AEN262"
898 ></A
899 ><H2
900 >AUTHOR</H2
901 ><P
902 >The original Samba software and related utilities 
903         were created by Andrew Tridgell. Samba is now developed
904         by the Samba Team as an Open Source project similar 
905         to the way the Linux kernel is developed.</P
906 ><P
907 ><B
908 CLASS="COMMAND"
909 >wbinfo</B
910 > and <B
911 CLASS="COMMAND"
912 >winbindd</B
913 >
914         were written by Tim Potter.</P
915 ><P
916 >The conversion to DocBook for Samba 2.2 was done 
917         by Gerald Carter</P
918 ></DIV
919 ></BODY
920 ></HTML
921 >