7 CONTENT=
"Modular DocBook HTML Stylesheet Version 1.57"></HEAD
27 >winbindd
--
Name Service Switch daemon for resolving names
30 CLASS=
"REFSYNOPSISDIV"
40 > [-d debuglevel] [-i] [-S] [-r] [-A] [-h] [-B
<broadcast address
>] [-U
<unicast address
>] [-d
<debug level
>] [-s
<smb config file
>] [-i
<NetBIOS scope
>] [-T] {name}
</P
50 >This tool is part of the
<A
54 > suite version
3.0 and describes functionality not
55 yet implemented in the main version of Samba.
</P
60 > is a daemon that provides
61 a service for the Name Service Switch capability that is present
62 in most modern C libraries. The Name Service Switch allows user
63 and system information to be obtained from different databases
64 services such as NIS or DNS. The exact behaviour can be configured
67 >/etc/nsswitch.conf
</TT
69 Users and groups are allocated as they are resolved to a range
70 of user and group ids specified by the administrator of the
73 >The service provided by winbindd 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
78 >The following nsswitch databases are implemented by
79 the winbindd service:
</P
89 >User information traditionally stored in
103 >Group information traditionally stored in
116 >For example, the following simple configuration in the
119 >/etc/nsswitch.conf
</TT
120 > file can be used to initially
121 resolve user and group information from
<TT
129 Windows NT server.
</P
138 CLASS=
"PROGRAMLISTING"
139 >passwd: files winbind
163 >Sets the debuglevel to an integer between
164 0 and
100.
0 is for no debugging and
100 is for reams and
165 reams. To submit a bug report to the Samba Team, use debug
166 level
100 (see BUGS.txt).
</P
176 become a daemon and detach from the current terminal. This
177 option is used by developers when interactive debugging
192 >NAME AND ID RESOLUTION
</H2
194 >Users and groups on a Windows NT server are assigned
195 a relative id (rid) which is unique for the domain when the
196 user or group is created. To convert the Windows NT user or group
197 into a unix user or group, a mapping between rids and unix user
198 and group ids is required. This is one of the jobs that
<B
203 >As winbindd users and groups are resolved from a server, user
204 and group ids are allocated from a specified range. This
205 is done on a first come, first served basis, although all existing
206 users and groups will be mapped as soon as a client performs a user
207 or group enumeration command. The allocated unix ids are stored
208 in a database file under the Samba lock directory and will be
211 >WARNING: The rid to unix id database is the only location
212 where the user and group mappings are stored by winbindd. If this
213 file is deleted or corrupted, there is no way for winbindd to
214 determine which user and group ids correspond to Windows NT user
225 >Configuration of the
<B
229 is done through configuration parameters in the
<TT
233 > file. All parameters should be specified in the
234 [global] section of smb.conf.
</P
241 >winbind separator
</DT
244 >The winbind separator option allows you
245 to specify how NT domain names and user names are combined
246 into unix user names when presented to users. By default,
250 > will use the traditional '\'
251 separator so that the unix user names look like
252 DOMAIN\username. In some cases this separator character may
253 cause problems as the '\' character has special meaning in
254 unix shells. In that case you can use the winbind separator
255 option to specify an alternative sepataror character. Good
256 alternatives may be '/' (although that conflicts
257 with the unix directory separator) or a '+ 'character.
258 The '+' character appears to be the best choice for
100%
259 compatibility with existing unix utilities, but may be an
260 aesthetically bad choice depending on your taste.
</P
264 >winbind separator = \
</B
270 >winbind separator = +
</B
277 >The winbind uid parameter specifies the
278 range of user ids that are allocated by the winbindd daemon.
279 This range of ids should have no existing local or nis users
280 within it as strange conflicts can occur otherwise.
</P
284 >winbind uid =
<empty string
>
290 >winbind uid =
10000-
20000</B
297 >The winbind gid parameter specifies the
298 range of group ids that are allocated by the winbindd daemon.
299 This range of group ids should have no existing local or nis
300 groups within it as strange conflicts can occur otherwise.
</P
304 >winbind gid =
<empty string
>
310 >winbind gid =
10000-
20000
315 >winbind cache time
</DT
318 >This parameter specifies the number of
319 seconds the winbindd daemon will cache user and group information
320 before querying a Windows NT server again. When a item in the
321 cache is older than this time winbindd will ask the domain
322 controller for the sequence number of the servers account database.
323 If the sequence number has not changed then the cached item is
324 marked as valid for a further
<TT
330 > seconds. Otherwise the item is fetched from the
331 server. This means that as long as the account database is not
332 actively changing winbindd will only have to send one sequence
333 number query packet every
<TT
343 >winbind cache time =
15</B
348 >winbind enum users
</DT
351 >On large installations it may be necessary
352 to suppress the enumeration of users through the
<B
362 > group of system calls. If
366 >winbind enum users
</I
368 > parameter is false,
372 > system call will not
377 > Turning off user enumeration
378 may cause some programs to behave oddly. For example, the finger
379 program relies on having access to the full user list when
380 searching for matching usernames.
</P
384 >winbind enum users = yes
</B
388 >winbind enum groups
</DT
391 >On large installations it may be necessary
392 to suppress the enumeration of groups through the
<B
402 > group of system calls. If
406 >winbind enum groups
</I
409 false, calls to the
<B
413 call will not return any data.
</P
418 enumeration may cause some programs to behave oddly.
423 >winbind enum groups = no
</B
428 >template homedir
</DT
431 >When filling out the user information
432 for a Windows NT user, the
<B
436 uses this parameter to fill in the home directory for that user.
443 substituted with the user's Windows NT domain name. If the
449 > is present it is substituted
450 with the user's Windows NT user name.
</P
454 >template homedir = /home/%D/%U
</B
462 >When filling out the user information for
463 a Windows NT user, the
<B
467 uses this parameter to fill in the shell for that user.
472 >template shell = /bin/false
</B
487 >To setup winbindd for user and group lookups plus
488 authentication from a domain controller use something like the
489 following setup. This was tested on a RedHat
6.2 Linux box.
</P
493 >/etc/nsswitch.conf
</TT
504 CLASS=
"PROGRAMLISTING"
505 >passwd: files winbind
522 > lines with something like this:
</P
531 CLASS=
"PROGRAMLISTING"
532 >auth required /lib/security/pam_securetty.so
533 auth required /lib/security/pam_nologin.so
534 auth sufficient /lib/security/pam_winbind.so
535 auth required /lib/security/pam_pwdb.so use_first_pass shadow nullok
542 >Note in particular the use of the
<TT
555 >Now replace the account lines with this:
</P
559 >account required /lib/security/pam_winbind.so
563 >The next step is to join the domain. To do that use the
567 > program like this:
</P
571 >samedit -S '*' -W DOMAIN -UAdministrator
</B
574 >The username after the
<TT
580 user that has administrator priviliges on the machine. Next from
584 >, run the command:
</P
588 >createuser MACHINE$ -j DOMAIN -L
</B
591 >This assumes your domain is called
"DOMAIN" and your Samba
592 workstation is called
"MACHINE".
</P
596 >libnss_winbind.so
.2</TT
610 >Finally, setup a smb.conf containing directives like the
620 CLASS=
"PROGRAMLISTING"
622 winbind separator = +
623 winbind cache time =
10
624 template shell = /bin/bash
625 template homedir = /home/%D/%U
626 winbind uid =
10000-
20000
627 winbind gid =
10000-
20000
637 >Now start winbindd and you should find that your user and
638 group database is expanded to include your NT users and groups,
639 and that you can login to your unix box as a domain user, using
640 the DOMAIN+user syntax for the username. You may wish to use the
648 > to confirm the correct operation of winbindd.
</P
658 >The following notes are useful when configuring and
667 > must be running on the local machine
675 queries the list of trusted domains for the Windows NT server
676 on startup and when a SIGHUP is received. Thus, for a running
<B
679 > to become aware of new trust relationships between
680 servers, it must be sent a SIGHUP signal.
</P
682 >Client processes resolving names through the
<B
686 nsswitch module read an environment variable named
<TT
689 > $WINBINDD_DOMAIN
</I
691 >. If this variable contains a comma separated
692 list of Windows NT domain names, then winbindd will only resolve users
693 and groups within those Windows NT domains.
</P
695 >PAM is really easy to misconfigure. Make sure you know what
696 you are doing when modifying PAM configuration files. It is possible
697 to set up PAM such that you can no longer log into your system.
</P
699 >If more than one UNIX machine is running
<B
703 then in general the user and groups ids allocated by winbindd will not
704 be the same. The user and group ids will only be valid for the local
707 >If the the Windows NT RID to UNIX user and group id mapping
708 file is damaged or destroyed then the mappings will be lost.
</P
718 >The following signals can be used to manipulate the
736 file and apply any parameter changes to the running
737 version of winbindd. This signal also clears any cached
738 user and group information. The list of other domains trusted
739 by winbindd is also reloaded.
</P
745 >The SIGUSR1 signal will cause
<B
748 > to write status information to the winbind
749 log file including information about the number of user and
750 group ids allocated by
<B
755 >Log files are stored in the filename specified by the
756 log file parameter.
</P
776 >/etc/nsswitch.conf(
5)
</TT
780 >Name service switch configuration file.
</P
783 >/tmp/.winbindd/pipe
</DT
786 >The UNIX pipe over which clients communicate with
790 > program. For security reasons, the
791 winbind client will only attempt to connect to the winbindd daemon
798 >/tmp/.winbindd/pipe
</TT
803 >/lib/libnss_winbind.so.X
</DT
806 >Implementation of name service switch library.
810 >$LOCKDIR/winbindd_idmap.tdb
</DT
813 >Storage for the Windows NT rid to UNIX user/group
814 id mapping. The lock directory is specified when Samba is initially
815 compiled using the
<TT
819 This directory is by default
<TT
821 >/usr/local/samba/var/locks
826 >$LOCKDIR/winbindd_cache.tdb
</DT
829 >Storage for cached user and group information.
843 >This man page is correct for version
2.2 of
844 the Samba suite. winbindd is however not available in
845 stable release of Samba as of yet.
</P
857 >nsswitch.conf(
5)
</TT
870 HREF=
"smb.conf.5.html"
883 >The original Samba software and related utilities
884 were created by Andrew Tridgell. Samba is now developed
885 by the Samba Team as an Open Source project similar
886 to the way the Linux kernel is developed.
</P
895 were written by Tim Potter.
</P
897 >The conversion to DocBook for Samba
2.2 was done