summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2004-09-25 00:20:54 +0000
committerGerald W. Carter <jerry@samba.org>2008-04-23 08:46:02 -0500
commit90bc041b2730f79d60c6fb853a2cdf8ed2c5d93c (patch)
tree7096ad54703288a1d752efb6ef6bddedfdfcbd0e
parent5c463c80010e3fe3c7fd393bd47f807707045ef2 (diff)
downloadsamba-90bc041b2730f79d60c6fb853a2cdf8ed2c5d93c.tar.gz
samba-90bc041b2730f79d60c6fb853a2cdf8ed2c5d93c.tar.bz2
samba-90bc041b2730f79d60c6fb853a2cdf8ed2c5d93c.zip
See, I really can write documentation when I put my mind to it...
This updates the ntlm_auth manpage to detail some of the new helper prototcols, and updates the winbind manpage to reflect some of the changes over it's life. Jelmer - you might want to look over this, and check if it's all really valid docbook, but 'make manapges' works for me. Andrew Bartlett (This used to be commit d2440e9847502cf35bfae0b2014f632d840488c1)
-rw-r--r--docs/manpages/ntlm_auth.1.xml140
-rw-r--r--docs/manpages/winbindd.8.xml58
2 files changed, 175 insertions, 23 deletions
diff --git a/docs/manpages/ntlm_auth.1.xml b/docs/manpages/ntlm_auth.1.xml
index 61fcaa8408..ae03fd35d9 100644
--- a/docs/manpages/ntlm_auth.1.xml
+++ b/docs/manpages/ntlm_auth.1.xml
@@ -35,7 +35,8 @@
users using NT/LM authentication. It returns 0 if the users is authenticated
successfully and 1 if access was denied. ntlm_auth uses winbind to access
the user and authentication data for a domain. This utility
- is only indended to be used by other programs (currently squid).
+ is only indended to be used by other programs (currently
+ Squid).
</para>
</refsect1>
@@ -90,7 +91,11 @@
<filename>winbindd_privileged</filename> in
<filename>$LOCKDIR</filename>. The protocol used is
described here: <ulink
- url="http://devel.squid-cache.org/ntlm/squid_helper_protocol.html">http://devel.squid-cache.org/ntlm/squid_helper_protocol.html</ulink>
+ url="http://devel.squid-cache.org/ntlm/squid_helper_protocol.html">http://devel.squid-cache.org/ntlm/squid_helper_protocol.html</ulink>.
+ This protocol has been extended to allow the
+ NTLMSSP Negotiate packet to be included as an argument
+ to the <command>YR</command> command. (Thus avoiding
+ loss of information in the protocol exchange).
</para>
</listitem>
</varlistentry>
@@ -132,6 +137,130 @@
</para>
</listitem>
</varlistentry>
+
+ <varlistentry>
+ <term>ntlm-server-1</term>
+ <listitem><para>
+ Server-side helper protocol, intended for use by a
+ RADIUS server or the 'winbind' plugin for pppd, for
+ the provision of MSCHAP and MSCHAPv2 authentication.
+ </para>
+ <para>This protocol consists of lines in for form:
+ <command>Parameter: value</command> and <command>Paramter::
+ Base64-encode value</command>. The presence of a single
+ period <command>.</command> indicates that one side has
+ finished supplying data to the other. (Which in turn
+ could cause the helper to authenticate the
+ user). </para>
+
+ <para>Curently implemented parameters from the
+ external program to the helper are:</para>
+ <variablelist>
+ <varlistentry>
+ <term>Username</term>
+
+ <listitem><para>The username, expected to be in
+ Samba's <smbconfoption><name>unix charset</name></smbconfoption>.
+ </para>
+
+ <para><example>Username: bob</example></para>
+ <para><example>Username:: Ym9i</example></para>
+ </listitem></varlistentry>
+
+ <varlistentry>
+ <term>Username</term>
+ <listitem><para>The user's domain, expected to be in
+ Samba's <smbconfoption><name>unix charset</name></smbconfoption>.
+ </para>
+
+ <para><example>Domain: WORKGROUP</example></para>
+ <para><example>Domain:: V09SS0dST1VQ</example></para>
+ </listitem></varlistentry>
+
+ <varlistentry>
+ <term>Full-Username</term>
+ <listitem><para>The fully qualified username, expected to be in
+ Samba's <smbconfoption><name>unix
+ charset</name></smbconfoption> and qualified with the
+ <smbconfoption><name>winbind separator</name></smbconfoption>.
+ </para>
+
+ <para><example>Full-Username: WORKGROUP\bob</example></para>
+ <para><example>Full-Username:: V09SS0dST1VQYm9i</example></para>
+ </listitem></varlistentry>
+
+ <varlistentry>
+ <term>LANMAN-Challenge</term>
+
+ <listitem><para>The 8 byte <command>LANMAN Challenge</command> value,
+ generated randomly by the server, or (in cases such as
+ MSCHAPv2) generated in some way by both the server and
+ the client.
+ </para>
+ <para><example>LANMAN-Challege: 0102030405060708</example></para>
+ </listitem></varlistentry>
+
+ <varlistentry>
+ <term>LANMAN-Response</term>
+
+ <listitem><para>The 24 byte <command>LANMAN Response</command> value,
+ calculated from the user's password and the supplied
+ <command>LANMAN Challenge</command>. Typically, this
+ is provided over the network by a client wishing to authenticate.
+ </para>
+ <para><example>LANMAN-Response: 010203040506070809101112131415161718192021222324</example></para>
+
+ </listitem></varlistentry>
+
+ <varlistentry>
+ <term>NT-Response</term>
+ <listitem><para>The >= 24 byte <command>NT Response</command>
+ calculated from the user's password and the supplied
+ <command>LANMAN Challenge</command>. Typically, this is
+ provided over the network by a client wishing to authenticate.
+ </para>
+ <para><example>NT-Response: 010203040506070809101112131415161718192021222324</example></para>
+
+ </listitem></varlistentry>
+
+ <varlistentry>
+ <term>Password</term>
+ <listitem><para>The user's password. This would be
+ provided by a network client, if the helper is being
+ used in a legacy situation that exposes plaintext
+ passwords in this way.
+ </para>
+ <para><example>Password: samba2</example></para>
+ <para><example>Password:: c2FtYmEy</example></para>
+
+ </listitem></varlistentry>
+
+ <varlistentry>
+ <term>Request-User-Session-Key</term>
+ <listitem><para>Apon sucessful authenticaiton, return
+ the user session key associated with the login.
+ </para>
+ <para><example>Request-User-Session-Key: Yes</example></para>
+
+ </listitem></varlistentry>
+
+ <varlistentry>
+ <term>Request-LanMan-Session-Key</term>
+ <listitem><para>Apon sucessful authenticaiton, return
+ the LANMAN session key associated with the login.
+ </para>
+ <para><example>Request-LanMan-Session-Key: Yes</example></para>
+
+ </listitem></varlistentry>
+
+ <para><warning>Implementors should take care to base64 encode
+ any data (such as usernames/passwords) that may contain malicous user data, such as
+ a newline. They may also need to decode strings from
+ the helper, which likewise may have been base64 encoded.</warning></para>
+ </variablelist>
+
+ </listitem>
+ </varlistentry>
</variablelist>
</listitem>
</varlistentry>
@@ -178,7 +307,12 @@
<term>--password=PASSWORD</term>
<listitem><para>User's plaintext password</para><para>If
not specified on the command line, this is prompted for when
- required. </para></listitem>
+ required. </para>
+
+ <para>For the NTLMSSP based server roles, this paramter
+ specifies the expected password, allowing testing without
+ winbindd operational.</para>
+ </listitem>
</varlistentry>
<varlistentry>
diff --git a/docs/manpages/winbindd.8.xml b/docs/manpages/winbindd.8.xml
index 9f552661de..e027428d16 100644
--- a/docs/manpages/winbindd.8.xml
+++ b/docs/manpages/winbindd.8.xml
@@ -37,8 +37,18 @@
<manvolnum>7</manvolnum></citerefentry> suite.</para>
<para><command>winbindd</command> 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
+ a number of services to the Name Service Switch capability found
+ in most modern C libraries, to arbitary applications via PAM
+ and <program>ntlm_auth</program> and to Samba itself.</para>
+
+ <para>Even if winbind is not used for nsswitch, it still provides a
+ service to <program>smbd</program>, ntlm_auth and the PAM modules, by managing connections to
+ domain controllers. In this configuraiton the
+ <smbconfoption><name>idmap uid</name></smbconfoption> and
+ <smbconfoption><name>idmap gid</name></smbconfoption>
+ parameters are not required. (This is known as `netlogon proxy only mode'.)</para>
+
+ <para> 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 <filename>/etc/nsswitch.conf</filename> file.
@@ -52,12 +62,15 @@
services via an associated PAM module. </para>
<para>
- The <filename>pam_winbind</filename> module in the 2.2.2 release only
- supports the <parameter>auth</parameter> and <parameter>account</parameter>
- module-types. The latter simply
- performs a getpwnam() to verify that the system can obtain a uid for the
- user. If the <filename>libnss_winbind</filename> library has been correctly
- installed, this should always succeed.
+ The <filename>pam_winbind</filename> module supports the
+ <parameter>auth</parameter>, <parameter>account</parameter>
+ and <parameter>password</parameter>
+ module-types. It should be noted that the
+ <parameter>account</parameter> 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
+ <filename>libnss_winbind</filename> library has been correctly
+ installed, or an alternate source of names configured, this should always succeed.
</para>
<para>The following nsswitch databases are implemented by
@@ -180,9 +193,9 @@ hosts: files wins
<title>NAME AND ID RESOLUTION</title>
<para>Users and groups on a Windows NT server are assigned
- a relative id (rid) which is unique for the domain when the
+ 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 rids and unix user
+ 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 <command>
winbindd</command> performs. </para>
@@ -194,11 +207,16 @@ hosts: files wins
in a database file under the Samba lock directory and will be
remembered. </para>
- <para>WARNING: The rid to unix id database is the only location
+ <para>WARNING: The SID 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. </para>
+
+ <para>See the <smbconfoption><name>idmap
+ backend</name></smbconfoption> parameter in
+ <filename>smb.conf</filename> for options for sharing this
+ database, such as via LDAP.</para>
</refsect1>
@@ -219,6 +237,8 @@ hosts: files wins
<listitem><para>
<smbconfoption><name>idmap gid</name></smbconfoption></para></listitem>
<listitem><para>
+ <smbconfoption><name>idmap backend</name></smbconfoption></para></listitem>
+ <listitem><para>
<smbconfoption><name>winbind cache time</name></smbconfoption></para></listitem>
<listitem><para>
<smbconfoption><name>winbind enum users</name></smbconfoption></para></listitem>
@@ -317,11 +337,7 @@ auth required /lib/security/pam_pwdb.so use_first_pass shadow nullok
<para><citerefentry><refentrytitle>nmbd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry> must be running on the local machine
- for <command>winbindd</command> to work. <command>winbindd</command> queries
- the list of trusted domains for the Windows NT server
- on startup and when a SIGHUP is received. Thus, for a running <command>
- winbindd</command> to become aware of new trust relationships between
- servers, it must be sent a SIGHUP signal. </para>
+ for <command>winbindd</command> to work. </para>
<para>PAM is really easy to misconfigure. Make sure you know what
you are doing when modifying PAM configuration files. It is possible
@@ -330,9 +346,10 @@ auth required /lib/security/pam_pwdb.so use_first_pass shadow nullok
<para>If more than one UNIX machine is running <command>winbindd</command>,
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.</para>
+ machine, unless a shared <smbconfoption><name>idmap
+ backend</name></smbconfoption> is configured.</para>
- <para>If the the Windows NT RID to UNIX user and group id mapping
+ <para>If the the Windows NT SID to UNIX user and group id mapping
file is damaged or destroyed then the mappings will be lost. </para>
</refsect1>
@@ -358,8 +375,7 @@ auth required /lib/security/pam_pwdb.so use_first_pass shadow nullok
<term>SIGUSR2</term>
<listitem><para>The SIGUSR2 signal will cause <command>
winbindd</command> to write status information to the winbind
- log file including information about the number of user and
- group ids allocated by <command>winbindd</command>.</para>
+ log file.</para>
<para>Log files are stored in the filename specified by the
log file parameter.</para></listitem>
@@ -440,6 +456,8 @@ auth required /lib/security/pam_pwdb.so use_first_pass shadow nullok
<refentrytitle>samba</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>, <citerefentry>
<refentrytitle>wbinfo</refentrytitle>
+ <manvolnum>1</manvolnum></citerefentry>, <citerefentry>
+ <refentrytitle>ntlm_auth</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>, <citerefentry>
<refentrytitle>smb.conf</refentrytitle>
<manvolnum>5</manvolnum></citerefentry></para>