2
.\" Author: [see the "AUTHOR" section]
3
.\" Generator: DocBook XSL Stylesheets v1.74.0 <http://docbook.sf.net/>
5
.\" Manual: System Administration tools
9
.TH "WINBINDD" "8" "05/10/2010" "Samba 3\&.4" "System Administration tools"
10
.\" -----------------------------------------------------------------
11
.\" * (re)Define some macros
12
.\" -----------------------------------------------------------------
13
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14
.\" toupper - uppercase a string (locale-aware)
15
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17
.tr aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ
19
.tr aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz
21
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22
.\" SH-xref - format a cross-reference to an SH section
23
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33
.\" SH - level-one heading that works better for non-TTY output
34
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36
.\" put an extra blank line of space above the head in non-TTY output
43
.nr an-prevailing-indent \\n[IN]
47
.HTML-TAG ".NH \\n[an-level]"
49
.nr an-no-space-flag 1
51
\." make the size of the head bigger
56
.\" if n (TTY output), use uppercase
61
.\" if not n (not TTY), use normal case (not uppercase)
65
.\" if not n (not TTY), put a border/line under subheading
70
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71
.\" SS - level-two heading that works better for non-TTY output
72
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77
.nr an-prevailing-indent \\n[IN]
82
.nr an-no-space-flag 1
85
\." make the size of the head bigger
91
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92
.\" BB/BE - put background/screen (filled box) around block of text
93
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106
.if "\\$2"adjust-for-leading-newline" \{\
114
.nr BW \\n(.lu-\\n(.i
117
.ie "\\$2"adjust-for-leading-newline" \{\
118
\M[\\$1]\h'1n'\v'+.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[]
121
\M[\\$1]\h'1n'\v'-.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[]
132
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
133
.\" BM/EM - put colored marker in margin next to block of text
134
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
151
\M[\\$1]\D'P -.75n 0 0 \\n(BHu -(\\n[.i]u - \\n(INu - .75n) 0 0 -\\n(BHu'\M[]
159
.\" -----------------------------------------------------------------
160
.\" * set default formatting
161
.\" -----------------------------------------------------------------
162
.\" disable hyphenation
164
.\" disable justification (adjust text to left margin only)
166
.\" -----------------------------------------------------------------
167
.\" * MAIN CONTENT STARTS HERE *
168
.\" -----------------------------------------------------------------
170
winbindd \- Name Service Switch daemon for resolving names from NT servers
174
\FCwinbindd\F[] [\-D] [\-F] [\-S] [\-i] [\-Y] [\-d\ <debug\ level>] [\-s\ <smb\ config\ file>] [\-n]
178
This program is part of the
183
is a daemon that provides a number of services to the Name Service Switch capability found in most modern C libraries, to arbitrary applications via PAM and
185
and to Samba itself\&.
187
Even if winbind is not used for nsswitch, it still provides a service to
191
\FCpam_winbind\&.so\F[]
192
PAM module, by managing connections to domain controllers\&. In this configuraiton the
193
\m[blue]\fBidmap uid\fR\m[]
195
\m[blue]\fBidmap gid\fR\m[]
196
parameters are not required\&. (This is known as `netlogon proxy only mode\'\&.)
198
The Name Service Switch allows user and system information to be obtained from different databases services such as NIS or DNS\&. The exact behaviour can be configured through the
199
\FC/etc/nsswitch\&.conf\F[]
200
file\&. Users and groups are allocated as they are resolved to a range of user and group ids specified by the administrator of the Samba system\&.
202
The service provided by
204
is called `winbind\' and can be used to resolve user and group information from a Windows NT server\&. The service can also provide authentication services via an associated PAM module\&.
213
module\-types\&. It should be noted that the
215
module simply performs a getpwnam() to verify that the system can obtain a uid for the user, as the domain controller has already performed access control\&. If the
216
\FClibnss_winbind\F[]
217
library has been correctly installed, or an alternate source of names configured, this should always succeed\&.
219
The following nsswitch databases are implemented by the winbindd service:
223
If specified, this parameter causes the server to operate as a daemon\&. That is, it detaches itself and runs in the background on the appropriate port\&. This switch is assumed if
225
is executed on the command line of a shell\&.
230
This feature is only available on IRIX\&. User information traditionally stored in the
233
\FCgethostbyname(3)\F[]
234
functions\&. Names are resolved through the WINS server or by broadcast\&.
239
User information traditionally stored in the
248
Group information traditionally stored in the
255
For example, the following simple configuration in the
256
\FC/etc/nsswitch\&.conf\F[]
257
file can be used to initially resolve user and group information from
261
and then from the Windows NT server\&.
272
.BB lightgray adjust-for-leading-newline
275
passwd: files winbind
277
## only available on IRIX: use winbind to resolve hosts:
278
# hosts: files dns winbind
279
## All other NSS enabled systems should use libnss_wins\&.so like this:
280
hosts: files dns wins
282
.EB lightgray adjust-for-leading-newline
293
The following simple configuration in the
294
\FC/etc/nsswitch\&.conf\F[]
295
file can be used to initially resolve hostnames from
297
and then from the WINS server\&.
308
.BB lightgray adjust-for-leading-newline
312
.EB lightgray adjust-for-leading-newline
326
If specified, this parameter causes the main
328
process to not daemonize, i\&.e\&. double\-fork and disassociate with the terminal\&. Child processes are still created as normal to service each connection request, but the main process does not exit\&. This operation mode is suitable for running
330
under process supervisors such as
334
from Daniel J\&. Bernstein\'s
336
package, or the AIX process monitor\&.
341
If specified, this parameter causes
343
to log to standard output rather than a file\&.
346
\-d|\-\-debuglevel=level
349
is an integer from 0 to 10\&. The default value if this parameter is not specified is 0\&.
351
The higher this value, the more detail will be logged to the log files about the activities of the server\&. At level 0, only critical errors and serious warnings will be logged\&. Level 1 is a reasonable level for day\-to\-day running \- it generates a small amount of information about operations carried out\&.
353
Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem\&. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic\&.
355
Note that specifying this parameter here will override the
356
\m[blue]\fB\%smb.conf.5.html#\fR\m[]
364
Prints the program version number\&.
367
\-s|\-\-configfile <configuration file>
369
The file specified contains the configuration details required by the server\&. The information in this file includes server\-specific information such as what printcap file to use, as well as descriptions of all the services that the server is to provide\&. See
371
for more information\&. The default configuration file name is determined at compile time\&.
374
\-l|\-\-log\-basename=logdirectory
376
Base directory name for log/debug files\&. The extension
378
will be appended (e\&.g\&. log\&.smbclient, log\&.smbd, etc\&.\&.\&.)\&. The log file is never removed by the client\&.
383
Print a summary of command line options\&.
390
to not become a daemon and detach from the current terminal\&. This option is used by developers when interactive debugging of
394
also logs to standard output, as if the
396
parameter had been given\&.
401
Disable caching\&. This means winbindd will always have to wait for a response from the domain controller before it can respond to a client and this thus makes things slower\&. The results will however be more accurate, since results from the cache might not be up\-to\-date\&. This might also temporarily hang winbindd if the DC doesn\'t respond\&.
406
Single daemon mode\&. This means winbindd will run as a single process (the mode of operation in Samba 2\&.2)\&. Winbindd\'s default behavior is to launch a child process that is responsible for updating expired cache entries\&.
408
.SH "NAME AND ID RESOLUTION"
410
Users and groups on a Windows NT server are assigned a security id (SID) which is globally unique when the user or group is created\&. To convert the Windows NT user or group into a unix user or group, a mapping between SIDs and unix user and group ids is required\&. This is one of the jobs that
414
As winbindd users and groups are resolved from a server, user and group ids are allocated from a specified range\&. This is done on a first come, first served basis, although all existing users and groups will be mapped as soon as a client performs a user or group enumeration command\&. The allocated unix ids are stored in a database and will be remembered\&.
416
WARNING: The SID to unix id database is the only location where the user and group mappings are stored by winbindd\&. If this store is deleted or corrupted, there is no way for winbindd to determine which user and group ids correspond to Windows NT user and group rids\&.
421
daemon is done through configuration parameters in the
423
file\&. All parameters should be specified in the [global] section of smb\&.conf\&.
434
\m[blue]\fBwinbind separator\fR\m[]
446
\m[blue]\fBidmap uid\fR\m[]
458
\m[blue]\fBidmap gid\fR\m[]
470
\m[blue]\fBidmap backend\fR\m[]
482
\m[blue]\fBwinbind cache time\fR\m[]
494
\m[blue]\fBwinbind enum users\fR\m[]
506
\m[blue]\fBwinbind enum groups\fR\m[]
518
\m[blue]\fBtemplate homedir\fR\m[]
530
\m[blue]\fBtemplate shell\fR\m[]
542
\m[blue]\fBwinbind use default domain\fR\m[]
554
\m[blue]\fBwinbind: rpc only\fR\m[]
555
Setting this parameter forces winbindd to use RPC instead of LDAP to retrieve information from Domain Controllers\&.
558
To setup winbindd for user and group lookups plus authentication from a domain controller use something like the following setup\&. This was tested on an early Red Hat Linux box\&.
561
\FC/etc/nsswitch\&.conf\F[]
573
.BB lightgray adjust-for-leading-newline
576
passwd: files winbind
578
.EB lightgray adjust-for-leading-newline
590
\FC/etc/pam\&.d/*\F[]
593
lines with something like this:
604
.BB lightgray adjust-for-leading-newline
607
auth required /lib/security/pam_securetty\&.so
608
auth required /lib/security/pam_nologin\&.so
609
auth sufficient /lib/security/pam_winbind\&.so
610
auth required /lib/security/pam_unix\&.so \e
611
use_first_pass shadow nullok
612
.EB lightgray adjust-for-leading-newline
629
.nr an-no-space-flag 1
637
The PAM module pam_unix has recently replaced the module pam_pwdb\&. Some Linux systems use the module pam_unix2 in place of pam_unix\&.
642
Note in particular the use of the
648
Now replace the account lines with this:
650
\FCaccount required /lib/security/pam_winbind\&.so \F[]
652
The next step is to join the domain\&. To do that use the
656
\FCnet join \-S PDC \-U Administrator\F[]
658
The username after the
660
can be any Domain user that has administrator privileges on the machine\&. Substitute the name or IP of your PDC for "PDC"\&.
663
\FClibnss_winbind\&.so\F[]
667
\FCpam_winbind\&.so \F[]
669
\FC/lib/security\F[]\&. A symbolic link needs to be made from
670
\FC/lib/libnss_winbind\&.so\F[]
672
\FC/lib/libnss_winbind\&.so\&.2\F[]\&. If you are using an older version of glibc then the target of the link should be
673
\FC/lib/libnss_winbind\&.so\&.1\F[]\&.
677
containing directives like the following:
688
.BB lightgray adjust-for-leading-newline
692
winbind separator = +
693
winbind cache time = 10
694
template shell = /bin/bash
695
template homedir = /home/%D/%U
696
idmap uid = 10000\-20000
697
idmap gid = 10000\-20000
701
.EB lightgray adjust-for-leading-newline
712
Now start winbindd and you should find that your user and group database is expanded to include your NT users and groups, and that you can login to your unix box as a domain user, using the DOMAIN+user syntax for the username\&. You may wish to use the commands
716
to confirm the correct operation of winbindd\&.
719
The following notes are useful when configuring and running
723
must be running on the local machine for
727
PAM is really easy to misconfigure\&. Make sure you know what you are doing when modifying PAM configuration files\&. It is possible to set up PAM such that you can no longer log into your system\&.
729
If more than one UNIX machine is running
730
\FCwinbindd\F[], then in general the user and groups ids allocated by winbindd will not be the same\&. The user and group ids will only be valid for the local machine, unless a shared
731
\m[blue]\fBidmap backend\fR\m[]
734
If the the Windows NT SID to UNIX user and group id mapping file is damaged or destroyed then the mappings will be lost\&.
737
The following signals can be used to manipulate the
745
file and apply any parameter changes to the running version of winbindd\&. This signal also clears any cached user and group information\&. The list of other domains trusted by winbindd is also reloaded\&.
750
The SIGUSR2 signal will cause
752
to write status information to the winbind log file\&.
754
Log files are stored in the filename specified by the log file parameter\&.
758
\FC/etc/nsswitch\&.conf(5)\F[]
760
Name service switch configuration file\&.
763
/tmp/\&.winbindd/pipe
765
The UNIX pipe over which clients communicate with the
767
program\&. For security reasons, the winbind client will only attempt to connect to the winbindd daemon if both the
768
\FC/tmp/\&.winbindd\F[]
770
\FC/tmp/\&.winbindd/pipe\F[]
771
file are owned by root\&.
774
$LOCKDIR/winbindd_privileged/pipe
776
The UNIX pipe over which \'privileged\' clients communicate with the
778
program\&. For security reasons, access to some winbindd functions \- like those needed by the
780
utility \- is restricted\&. By default, only users in the \'root\' group will get this access, however the administrator may change the group permissions on $LOCKDIR/winbindd_privileged to allow programs like \'squid\' to use ntlm_auth\&. Note that the winbind client will only attempt to connect to the winbindd daemon if both the
781
\FC$LOCKDIR/winbindd_privileged\F[]
783
\FC$LOCKDIR/winbindd_privileged/pipe\F[]
784
file are owned by root\&.
787
/lib/libnss_winbind\&.so\&.X
789
Implementation of name service switch library\&.
792
$LOCKDIR/winbindd_idmap\&.tdb
794
Storage for the Windows NT rid to UNIX user/group id mapping\&. The lock directory is specified when Samba is initially compiled using the
795
\fI\-\-with\-lockdir\fR
796
option\&. This directory is by default
797
\FC/usr/local/samba/var/locks \F[]\&.
800
$LOCKDIR/winbindd_cache\&.tdb
802
Storage for cached user and group information\&.
806
This man page is correct for version 3 of the Samba suite\&.
809
\FCnsswitch\&.conf(5)\F[],
817
The original Samba software and related utilities were created by Andrew Tridgell\&. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed\&.
822
were written by Tim Potter\&.
824
The conversion to DocBook for Samba 2\&.2 was done by Gerald Carter\&. The conversion to DocBook XML 4\&.2 for Samba 3\&.0 was done by Alexander Bokovoy\&.