summaryrefslogtreecommitdiff
path: root/docs/manpages/winbindd.8
diff options
context:
space:
mode:
Diffstat (limited to 'docs/manpages/winbindd.8')
-rw-r--r--docs/manpages/winbindd.8392
1 files changed, 392 insertions, 0 deletions
diff --git a/docs/manpages/winbindd.8 b/docs/manpages/winbindd.8
new file mode 100644
index 0000000000..cca62f25e4
--- /dev/null
+++ b/docs/manpages/winbindd.8
@@ -0,0 +1,392 @@
+.\" This manpage has been automatically generated by docbook2man-spec
+.\" from a DocBook document. docbook2man-spec can be found at:
+.\" <http://shell.ipoline.com/~elmert/hacks/docbook2X/>
+.\" Please send any bug reports, improvements, comments, patches,
+.\" etc. to Steve Cheng <steve@ggi-project.org>.
+.TH "WINBINDD" "8" "28 January 2002" "" ""
+.SH NAME
+winbindd \- Name Service Switch daemon for resolving names from NT servers
+.SH SYNOPSIS
+.sp
+\fBwinbindd\fR [ \fB-i\fR ] [ \fB-d <debug level>\fR ] [ \fB-s <smb config file>\fR ]
+.SH "DESCRIPTION"
+.PP
+This program is part of the Sambasuite.
+.PP
+\fBwinbindd\fR is a daemon that provides
+a service for the Name Service Switch capability that is present
+in most modern C libraries. 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
+throught the \fI/etc/nsswitch.conf\fR 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.
+.PP
+The service provided by \fBwinbindd\fR 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.
+.PP
+The \fIpam_winbind\fR module in the 2.2.2 release only
+supports the \fIauth\fR and \fIaccount\fR
+module-types. The latter is simply
+performs a getpwnam() to verify that the system can obtain a uid for the
+user. If the \fIlibnss_winbind\fR library has been correctly
+installed, this should always suceed.
+.PP
+The following nsswitch databases are implemented by
+the winbindd service:
+.TP
+\fBpasswd\fR
+User information traditionally stored in
+the \fIpasswd(5)\fR file and used by
+\fBgetpwent(3)\fR functions.
+.TP
+\fBgroup\fR
+Group information traditionally stored in
+the \fIgroup(5)\fR file and used by
+\fBgetgrent(3)\fR functions.
+.PP
+For example, the following simple configuration in the
+\fI/etc/nsswitch.conf\fR file can be used to initially
+resolve user and group information from \fI/etc/passwd
+\fRand \fI/etc/group\fR and then from the
+Windows NT server.
+.PP
+.PP
+.sp
+.nf
+passwd: files winbind
+group: files winbind
+
+.sp
+.fi
+.PP
+.SH "OPTIONS"
+.TP
+\fB-d debuglevel\fR
+Sets the debuglevel to an integer between
+0 and 100. 0 is for no debugging and 100 is for reams and
+reams. To submit a bug report to the Samba Team, use debug
+level 100 (see BUGS.txt).
+.TP
+\fB-i\fR
+Tells \fBwinbindd\fR to not
+become a daemon and detach from the current terminal. This
+option is used by developers when interactive debugging
+of \fBwinbindd\fR is required.
+.SH "NAME AND ID RESOLUTION"
+.PP
+Users and groups on a Windows NT server are assigned
+a relative id (rid) which is unique for the domain when the
+user or group is created. To convert the Windows NT user or group
+into a unix user or group, a mapping between rids and unix user
+and group ids is required. This is one of the jobs that \fB winbindd\fR performs.
+.PP
+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 file under the Samba lock directory and will be
+remembered.
+.PP
+WARNING: The rid to unix id database is the only location
+where the user and group mappings are stored by winbindd. If this
+file 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.
+.SH "CONFIGURATION"
+.PP
+Configuration of the \fBwinbindd\fR daemon
+is done through configuration parameters in the \fIsmb.conf(5)
+\fRfile. All parameters should be specified in the
+[global] section of smb.conf.
+.TP
+\fBwinbind separator\fR
+The winbind separator option allows you
+to specify how NT domain names and user names are combined
+into unix user names when presented to users. By default,
+\fBwinbindd\fR will use the traditional '\\'
+separator so that the unix user names look like
+DOMAIN\\username. In some cases this separator character may
+cause problems as the '\\' character has special meaning in
+unix shells. In that case you can use the winbind separator
+option to specify an alternative separator character. Good
+alternatives may be '/' (although that conflicts
+with the unix directory separator) or a '+ 'character.
+The '+' character appears to be the best choice for 100%
+compatibility with existing unix utilities, but may be an
+aesthetically bad choice depending on your taste.
+
+Default: \fBwinbind separator = \\ \fR
+
+Example: \fBwinbind separator = + \fR
+.TP
+\fBwinbind uid\fR
+The winbind uid parameter specifies the
+range of user ids that are allocated by the winbindd daemon.
+This range of ids should have no existing local or NIS users
+within it as strange conflicts can occur otherwise.
+
+Default: \fBwinbind uid = <empty string>
+\fR
+Example: \fBwinbind uid = 10000-20000\fR
+.TP
+\fBwinbind gid\fR
+The winbind gid parameter specifies the
+range of group ids that are allocated by the winbindd daemon.
+This range of group ids should have no existing local or NIS
+groups within it as strange conflicts can occur otherwise.
+
+Default: \fBwinbind gid = <empty string>
+\fR
+Example: \fBwinbind gid = 10000-20000
+\fR.TP
+\fBwinbind cache time\fR
+This parameter specifies the number of
+seconds the winbindd daemon will cache user and group information
+before querying a Windows NT server again. When a item in the
+cache is older than this time winbindd will ask the domain
+controller for the sequence number of the server's account database.
+If the sequence number has not changed then the cached item is
+marked as valid for a further \fIwinbind cache time
+\fRseconds. Otherwise the item is fetched from the
+server. This means that as long as the account database is not
+actively changing winbindd will only have to send one sequence
+number query packet every \fIwinbind cache time
+\fRseconds.
+
+Default: \fBwinbind cache time = 15\fR
+.TP
+\fBwinbind enum users\fR
+On large installations it may be necessary
+to suppress the enumeration of users through the \fB setpwent()\fR, \fBgetpwent()\fR and
+\fBendpwent()\fR group of system calls. If
+the \fIwinbind enum users\fR parameter is false,
+calls to the \fBgetpwent\fR system call will not
+return any data.
+
+\fBWarning:\fR Turning off user enumeration
+may cause some programs to behave oddly. For example, the \fBfinger\fR
+program relies on having access to the full user list when
+searching for matching usernames.
+
+Default: \fBwinbind enum users = yes \fR
+.TP
+\fBwinbind enum groups\fR
+On large installations it may be necessary
+to suppress the enumeration of groups through the \fB setgrent()\fR, \fBgetgrent()\fR and
+\fBendgrent()\fR group of system calls. If
+the \fIwinbind enum groups\fR parameter is
+false, calls to the \fBgetgrent()\fR system
+call will not return any data.
+
+\fBWarning:\fR Turning off group
+enumeration may cause some programs to behave oddly.
+
+Default: \fBwinbind enum groups = no \fR
+.TP
+\fBtemplate homedir\fR
+When filling out the user information
+for a Windows NT user, the \fBwinbindd\fR daemon
+uses this parameter to fill in the home directory for that user.
+If the string \fI%D\fR is present it is
+substituted with the user's Windows NT domain name. If the
+string \fI%U\fR is present it is substituted
+with the user's Windows NT user name.
+
+Default: \fBtemplate homedir = /home/%D/%U \fR
+.TP
+\fBtemplate shell\fR
+When filling out the user information for
+a Windows NT user, the \fBwinbindd\fR daemon
+uses this parameter to fill in the shell for that user.
+
+Default: \fBtemplate shell = /bin/false \fR
+.TP
+\fBwinbind use default domain\fR
+This parameter specifies whether the \fBwinbindd\fR
+daemon should operate on users without domain component in their username.
+Users without a domain component are treated as is part of the winbindd server's
+own domain. While this does not benifit Windows users, it makes SSH, FTP and e-mail
+function in a way much closer to the way they would in a native unix system.
+
+Default: \fBwinbind use default domain = <falseg>
+\fR
+Example: \fBwinbind use default domain = true\fR
+.SH "EXAMPLE SETUP"
+.PP
+To setup winbindd for user and group lookups plus
+authentication from a domain controller use something like the
+following setup. This was tested on a RedHat 6.2 Linux box.
+.PP
+In \fI/etc/nsswitch.conf\fR put the
+following:
+.PP
+.sp
+.nf
+passwd: files winbind
+group: files winbind
+
+.sp
+.fi
+.PP
+In \fI/etc/pam.d/*\fR replace the
+\fIauth\fR lines with something like this:
+.PP
+.sp
+.nf
+auth required /lib/security/pam_securetty.so
+auth required /lib/security/pam_nologin.so
+auth sufficient /lib/security/pam_winbind.so
+auth required /lib/security/pam_pwdb.so use_first_pass shadow nullok
+
+.sp
+.fi
+.PP
+Note in particular the use of the \fIsufficient\fR
+keyword and the \fIuse_first_pass\fR keyword.
+.PP
+Now replace the account lines with this:
+.PP
+\fBaccount required /lib/security/pam_winbind.so
+\fR.PP
+The next step is to join the domain. To do that use the
+\fBsmbpasswd\fR program like this:
+.PP
+\fBsmbpasswd -j DOMAIN -r PDC -U
+Administrator\fR
+.PP
+The username after the \fI-U\fR can be any
+Domain user that has administrator privileges on the machine.
+Substitute your domain name for "DOMAIN" and the name of your PDC
+for "PDC".
+.PP
+Next copy \fIlibnss_winbind.so\fR to
+\fI/lib\fR and \fIpam_winbind.so\fR
+to \fI/lib/security\fR. A symbolic link needs to be
+made from \fI/lib/libnss_winbind.so\fR to
+\fI/lib/libnss_winbind.so.2\fR. If you are using an
+older version of glibc then the target of the link should be
+\fI/lib/libnss_winbind.so.1\fR.
+.PP
+Finally, setup a \fIsmb.conf\fR containing directives like the
+following:
+.PP
+.sp
+.nf
+[global]
+ winbind separator = +
+ winbind cache time = 10
+ template shell = /bin/bash
+ template homedir = /home/%D/%U
+ winbind uid = 10000-20000
+ winbind gid = 10000-20000
+ workgroup = DOMAIN
+ security = domain
+ password server = *
+
+.sp
+.fi
+.PP
+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 \fBgetent passwd\fR and \fBgetent group
+\fRto confirm the correct operation of winbindd.
+.SH "NOTES"
+.PP
+The following notes are useful when configuring and
+running \fBwinbindd\fR:
+.PP
+\fBnmbd\fR must be running on the local machine
+for \fBwinbindd\fR to work. \fBwinbindd\fR
+queries the list of trusted domains for the Windows NT server
+on startup and when a SIGHUP is received. Thus, for a running \fB winbindd\fR to become aware of new trust relationships between
+servers, it must be sent a SIGHUP signal.
+.PP
+Client processes resolving names through the \fBwinbindd\fR
+nsswitch module read an environment variable named \fB $WINBINDD_DOMAIN\fR. If this variable contains a comma separated
+list of Windows NT domain names, then winbindd will only resolve users
+and groups within those Windows NT domains.
+.PP
+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.
+.PP
+If more than one UNIX machine is running \fBwinbindd\fR,
+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.
+.PP
+If the the Windows NT RID to UNIX user and group id mapping
+file is damaged or destroyed then the mappings will be lost.
+.SH "SIGNALS"
+.PP
+The following signals can be used to manipulate the
+\fBwinbindd\fR daemon.
+.TP
+\fBSIGHUP\fR
+Reload the \fIsmb.conf(5)\fR
+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.
+.TP
+\fBSIGUSR1\fR
+The SIGUSR1 signal will cause \fB winbindd\fR to write status information to the winbind
+log file including information about the number of user and
+group ids allocated by \fBwinbindd\fR.
+
+Log files are stored in the filename specified by the
+log file parameter.
+.SH "FILES"
+.TP
+\fB\fI/etc/nsswitch.conf(5)\fB\fR
+Name service switch configuration file.
+.TP
+\fB/tmp/.winbindd/pipe\fR
+The UNIX pipe over which clients communicate with
+the \fBwinbindd\fR program. For security reasons, the
+winbind client will only attempt to connect to the winbindd daemon
+if both the \fI/tmp/.winbindd\fR directory
+and \fI/tmp/.winbindd/pipe\fR file are owned by
+root.
+.TP
+\fB/lib/libnss_winbind.so.X\fR
+Implementation of name service switch library.
+.TP
+\fB$LOCKDIR/winbindd_idmap.tdb\fR
+Storage for the Windows NT rid to UNIX user/group
+id mapping. The lock directory is specified when Samba is initially
+compiled using the \fI--with-lockdir\fR option.
+This directory is by default \fI/usr/local/samba/var/locks
+\fR\&.
+.TP
+\fB$LOCKDIR/winbindd_cache.tdb\fR
+Storage for cached user and group information.
+.SH "VERSION"
+.PP
+This man page is correct for version 2.2 of
+the Samba suite.
+.SH "SEE ALSO"
+.PP
+\fInsswitch.conf(5)\fR,
+samba(7),
+wbinfo(1),
+smb.conf(5)
+.SH "AUTHOR"
+.PP
+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.
+.PP
+\fBwbinfo\fR and \fBwinbindd\fR
+were written by Tim Potter.
+.PP
+The conversion to DocBook for Samba 2.2 was done
+by Gerald Carter