diff options
Diffstat (limited to 'docs/htmldocs/passdb.html')
| -rw-r--r-- | docs/htmldocs/passdb.html | 370 | 
1 files changed, 169 insertions, 201 deletions
diff --git a/docs/htmldocs/passdb.html b/docs/htmldocs/passdb.html index f53641624a..7a8fb7fdec 100644 --- a/docs/htmldocs/passdb.html +++ b/docs/htmldocs/passdb.html @@ -5,7 +5,7 @@  >User information database</TITLE  ><META  NAME="GENERATOR" -CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"><LINK +CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK  REL="HOME"  TITLE="SAMBA Project Documentation"  HREF="samba-howto-collection.html"><LINK @@ -80,9 +80,9 @@ CLASS="SECT1"  ><H1  CLASS="SECT1"  ><A -NAME="AEN324" -></A ->3.1. Introduction</H1 +NAME="AEN227" +>3.1. Introduction</A +></H1  ><P  >Old windows clients send plain text passwords over the wire.   	Samba can check these passwords by crypting them and comparing them  @@ -121,9 +121,9 @@ CLASS="SECT1"  ><H1  CLASS="SECT1"  ><A -NAME="AEN331" -></A ->3.2. Important Notes About Security</H1 +NAME="AEN234" +>3.2. Important Notes About Security</A +></H1  ><P  >The unix and SMB password encryption techniques seem similar   	on the surface. This similarity is, however, only skin deep. The unix  @@ -229,9 +229,9 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN346" -></A ->3.2.1. Advantages of SMB Encryption</H2 +NAME="AEN249" +>3.2.1. Advantages of SMB Encryption</A +></H2  ><P  ></P  ><TABLE @@ -263,9 +263,9 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN351" -></A ->3.2.2. Advantages of non-encrypted passwords</H2 +NAME="AEN254" +>3.2.2. Advantages of non-encrypted passwords</A +></H2  ><P  ></P  ><TABLE @@ -299,9 +299,9 @@ CLASS="SECT1"  ><H1  CLASS="SECT1"  ><A -NAME="AEN357" -></A ->3.3. The smbpasswd Command</H1 +NAME="AEN260" +>3.3. The smbpasswd Command</A +></H1  ><P  >The smbpasswd utility is a utility similar to the   	<B @@ -331,47 +331,39 @@ CLASS="COMMAND"  ><P  >To run smbpasswd as a normal user just type :</P  ><P -><TT +><SAMP  CLASS="PROMPT" ->$ </TT -><TT +>$ </SAMP +><KBD  CLASS="USERINPUT" -><B ->smbpasswd</B -></TT +>smbpasswd</KBD  ></P  ><P -><TT +><SAMP  CLASS="PROMPT" ->Old SMB password: </TT -><TT +>Old SMB password: </SAMP +><KBD  CLASS="USERINPUT" -><B -><type old value here -  -	or hit return if there was no old password></B -></TT +><type old value here -  +	or hit return if there was no old password></KBD  ></P  ><P -><TT +><SAMP  CLASS="PROMPT" ->New SMB Password: </TT -><TT +>New SMB Password: </SAMP +><KBD  CLASS="USERINPUT" -><B -><type new value> -	</B -></TT +><type new value> +	</KBD  ></P  ><P -><TT +><SAMP  CLASS="PROMPT" ->Repeat New SMB Password: </TT -><TT +>Repeat New SMB Password: </SAMP +><KBD  CLASS="USERINPUT" -><B -><re-type new value -	</B -></TT +><re-type new value +	</KBD  ></P  ><P  >If the old value does not match the current value stored for  @@ -411,9 +403,9 @@ CLASS="SECT1"  ><H1  CLASS="SECT1"  ><A -NAME="AEN388" -></A ->3.4. Plain text</H1 +NAME="AEN291" +>3.4. Plain text</A +></H1  ><P  >Older versions of samba retrieved user information from the unix user database   and eventually some other fields from the file <TT @@ -431,9 +423,9 @@ CLASS="SECT1"  ><H1  CLASS="SECT1"  ><A -NAME="AEN393" -></A ->3.5. TDB</H1 +NAME="AEN296" +>3.5. TDB</A +></H1  ><P  >Samba can also store the user data in a "TDB" (Trivial Database). Using this backend   doesn't require any additional configuration. This backend is recommended for new installations who  @@ -444,17 +436,17 @@ CLASS="SECT1"  ><H1  CLASS="SECT1"  ><A -NAME="AEN396" -></A ->3.6. LDAP</H1 +NAME="AEN299" +>3.6. LDAP</A +></H1  ><DIV  CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN398" -></A ->3.6.1. Introduction</H2 +NAME="AEN301" +>3.6.1. Introduction</A +></H2  ><P  >This document describes how to use an LDAP directory for storing Samba user  account information traditionally stored in the smbpasswd(5) file.  It is @@ -520,9 +512,9 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN418" -></A ->3.6.2. Introduction</H2 +NAME="AEN321" +>3.6.2. Introduction</A +></H2  ><P  >Traditionally, when configuring <A  HREF="smb.conf.5.html#ENCRYPTPASSWORDS" @@ -577,35 +569,27 @@ Identified (RID).</P  used by smbd was developed.  The API which defines access to user accounts  is commonly referred to as the samdb interface (previously this was called the passdb  API, and is still so named in the CVS trees). In Samba 2.2.3, enabling support -for a samdb backend (e.g. <TT +for a samdb backend (e.g. <VAR  CLASS="PARAMETER" -><I ->--with-ldapsam</I -></TT +>--with-ldapsam</VAR  > or -<TT +<VAR  CLASS="PARAMETER" -><I ->--with-tdbsam</I -></TT +>--with-tdbsam</VAR  >) requires compile time support.</P  ><P ->When compiling Samba to include the <TT +>When compiling Samba to include the <VAR  CLASS="PARAMETER" -><I ->--with-ldapsam</I -></TT +>--with-ldapsam</VAR  > autoconf  option, smbd (and associated tools) will store and lookup user accounts in  an LDAP directory.  In reality, this is very easy to understand.  If you are  comfortable with using an smbpasswd file, simply replace "smbpasswd" with  "LDAP directory" in all the documentation.</P  ><P ->There are a few points to stress about what the <TT +>There are a few points to stress about what the <VAR  CLASS="PARAMETER" -><I ->--with-ldapsam</I -></TT +>--with-ldapsam</VAR  >  does not provide.  The LDAP support referred to in the this documentation does not  include:</P @@ -637,9 +621,9 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN447" -></A ->3.6.3. Supported LDAP Servers</H2 +NAME="AEN350" +>3.6.3. Supported LDAP Servers</A +></H2  ><P  >The LDAP samdb code in 2.2.3 has been developed and tested using the OpenLDAP  2.0 server and client libraries.  The same code should be able to work with @@ -662,9 +646,9 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN452" -></A ->3.6.4. Schema and Relationship to the RFC 2307 posixAccount</H2 +NAME="AEN355" +>3.6.4. Schema and Relationship to the RFC 2307 posixAccount</A +></H2  ><P  >Samba 3.0 includes the necessary schema file for OpenLDAP 2.0 in  <TT @@ -698,9 +682,9 @@ CLASS="FILENAME"  >/etc/passwd</TT  > entry, so is the sambaAccount object  meant to supplement the UNIX user account information.  A sambaAccount is a -<TT +<CODE  CLASS="CONSTANT" ->STRUCTURAL</TT +>STRUCTURAL</CODE  > objectclass so it can be stored individually  in the directory.  However, there are several fields (e.g. uid) which overlap  with the posixAccount objectclass outlined in RFC2307.  This is by design.</P @@ -719,24 +703,24 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN464" -></A ->3.6.5. Configuring Samba with LDAP</H2 +NAME="AEN367" +>3.6.5. Configuring Samba with LDAP</A +></H2  ><DIV  CLASS="SECT3"  ><H3  CLASS="SECT3"  ><A -NAME="AEN466" -></A ->3.6.5.1. OpenLDAP configuration</H3 +NAME="AEN369" +>3.6.5.1. OpenLDAP configuration</A +></H3  ><P  >To include support for the sambaAccount object in an OpenLDAP directory  server, first copy the samba.schema file to slapd's configuration directory.</P  ><P -><TT +><SAMP  CLASS="PROMPT" ->root# </TT +>root# </SAMP  ><B  CLASS="COMMAND"  >cp samba.schema /etc/openldap/schema/</B @@ -809,15 +793,13 @@ CLASS="SECT3"  ><H3  CLASS="SECT3"  ><A -NAME="AEN483" -></A ->3.6.5.2. Configuring Samba</H3 +NAME="AEN386" +>3.6.5.2. Configuring Samba</A +></H3  ><P ->The following parameters are available in smb.conf only with <TT +>The following parameters are available in smb.conf only with <VAR  CLASS="PARAMETER" -><I ->--with-ldapsam</I -></TT +>--with-ldapsam</VAR  >  was included with compiling Samba.</P  ><P @@ -895,11 +877,9 @@ CLASS="PROGRAMLISTING"       # define the DN to use when binding to the directory servers       # The password for this DN is not stored in smb.conf.  Rather it -     # must be set by using 'smbpasswd -w <TT +     # must be set by using 'smbpasswd -w <VAR  CLASS="REPLACEABLE" -><I ->secretpw</I -></TT +>secretpw</VAR  >' to store the       # passphrase in the secrets.tdb file.  If the "ldap admin dn" values       # changes, this password will need to be reset. @@ -920,7 +900,7 @@ CLASS="REPLACEABLE"       ldap suffix = "ou=people,dc=samba,dc=org"       # generally the default ldap search filter is ok -     # ldap filter = "(&(uid=%u)(objectclass=sambaAccount))"</PRE +     # ldap filter = "(&(uid=%u)(objectclass=sambaAccount))"</PRE  ></P  ></DIV  ></DIV @@ -929,9 +909,9 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN511" -></A ->3.6.6. Accounts and Groups management</H2 +NAME="AEN414" +>3.6.6. Accounts and Groups management</A +></H2  ><P  >As users accounts are managed thru the sambaAccount objectclass, you should  modify you existing administration tools to deal with sambaAccount attributes.</P @@ -954,9 +934,9 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN516" -></A ->3.6.7. Security and sambaAccount</H2 +NAME="AEN419" +>3.6.7. Security and sambaAccount</A +></H2  ><P  >There are two important points to remember when discussing the security  of sambaAccount entries in the directory.</P @@ -1033,9 +1013,9 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN536" -></A ->3.6.8. LDAP specials attributes for sambaAccounts</H2 +NAME="AEN439" +>3.6.8. LDAP specials attributes for sambaAccounts</A +></H2  ><P  >The sambaAccount objectclass is composed of the following attributes:</P  ><P @@ -1043,84 +1023,84 @@ NAME="AEN536"  ><UL  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->lmPassword</TT +>lmPassword</CODE  >: the LANMAN password 16-byte hash stored as a character  	representation of a hexidecimal string.</P  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->ntPassword</TT +>ntPassword</CODE  >: the NT password hash 16-byte stored as a character  	representation of a hexidecimal string.</P  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->pwdLastSet</TT +>pwdLastSet</CODE  >: The integer time in seconds since 1970 when the -	<TT +	<CODE  CLASS="CONSTANT" ->lmPassword</TT -> and <TT +>lmPassword</CODE +> and <CODE  CLASS="CONSTANT" ->ntPassword</TT +>ntPassword</CODE  > attributes were last set.  	</P  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->acctFlags</TT +>acctFlags</CODE  >: string of 11 characters surrounded by square brackets []  	representing account flags such as U (user), W(workstation), X(no password expiration), and  	D(disabled).</P  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->logonTime</TT +>logonTime</CODE  >: Integer value currently unused</P  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->logoffTime</TT +>logoffTime</CODE  >: Integer value currently unused</P  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->kickoffTime</TT +>kickoffTime</CODE  >: Integer value currently unused</P  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->pwdCanChange</TT +>pwdCanChange</CODE  >: Integer value currently unused</P  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->pwdMustChange</TT +>pwdMustChange</CODE  >: Integer value currently unused</P  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->homeDrive</TT +>homeDrive</CODE  >: specifies the drive letter to which to map the  	UNC path specified by homeDirectory. The drive letter must be specified in the form "X:"  	where X is the letter of the drive to map. Refer to the "logon drive" parameter in the @@ -1128,9 +1108,9 @@ CLASS="CONSTANT"  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->scriptPath</TT +>scriptPath</CODE  >: The scriptPath property specifies the path of  	the user's logon script, .CMD, .EXE, or .BAT file. The string can be null. The path  	is relative to the netlogon share.  Refer to the "logon script" parameter in the @@ -1138,18 +1118,18 @@ CLASS="CONSTANT"  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->profilePath</TT +>profilePath</CODE  >: specifies a path to the user's profile.  	This value can be a null string, a local absolute path, or a UNC path.  Refer to the  	"logon path" parameter in the smb.conf(5) man page for more information.</P  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->smbHome</TT +>smbHome</CODE  >: The homeDirectory property specifies the path of  	the home directory for the user. The string can be null. If homeDrive is set and specifies  	a drive letter, homeDirectory should be a UNC path. The path must be a network @@ -1159,25 +1139,25 @@ CLASS="CONSTANT"  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->userWorkstation</TT +>userWorkstation</CODE  >: character string value currently unused.  	</P  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->rid</TT +>rid</CODE  >: the integer representation of the user's relative identifier  	(RID).</P  ></LI  ><LI  ><P -><TT +><CODE  CLASS="CONSTANT" ->primaryGroupID</TT +>primaryGroupID</CODE  >: the relative identifier (RID) of the primary group  	of the user.</P  ></LI @@ -1222,19 +1202,15 @@ its <TT  CLASS="FILENAME"  >smb.conf</TT  > file. When a user named "becky" logons to the domain, -the <TT +the <VAR  CLASS="PARAMETER" -><I ->logon home</I -></TT +>logon home</VAR  > string is expanded to \\TASHTEGO\becky.  If the smbHome attribute exists in the entry "uid=becky,ou=people,dc=samba,dc=org",  this value is used.  However, if this attribute does not exist, then the value -of the <TT +of the <VAR  CLASS="PARAMETER" -><I ->logon home</I -></TT +>logon home</VAR  > parameter is used in its place.  Samba  will only write the attribute value to the directory entry is the value is  something other than the default (e.g. \\MOBY\becky).</P @@ -1244,9 +1220,9 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN606" -></A ->3.6.9. Example LDIF Entries for a sambaAccount</H2 +NAME="AEN509" +>3.6.9. Example LDIF Entries for a sambaAccount</A +></H2  ><P  >The following is a working LDIF with the inclusion of the posixAccount objectclass:</P  ><P @@ -1303,17 +1279,17 @@ CLASS="SECT1"  ><H1  CLASS="SECT1"  ><A -NAME="AEN614" -></A ->3.7. MySQL</H1 +NAME="AEN517" +>3.7. MySQL</A +></H1  ><DIV  CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN616" -></A ->3.7.1. Building</H2 +NAME="AEN519" +>3.7.1. Building</A +></H2  ><P  >To build the plugin, run <B  CLASS="COMMAND" @@ -1332,9 +1308,9 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN622" -></A ->3.7.2. Creating the database</H2 +NAME="AEN525" +>3.7.2. Creating the database</A +></H2  ><P  >You either can set up your own table and specify the field names to pdb_mysql (see below  for the column names) or use the default table. The file <TT @@ -1345,26 +1321,18 @@ contains the correct queries to create the required tables. Use the command :  <B  CLASS="COMMAND" ->mysql -u<TT +>mysql -u<VAR  CLASS="REPLACEABLE" -><I ->username</I -></TT -> -h<TT +>username</VAR +> -h<VAR  CLASS="REPLACEABLE" -><I ->hostname</I -></TT -> -p<TT +>hostname</VAR +> -p<VAR  CLASS="REPLACEABLE" -><I ->password</I -></TT -> <TT +>password</VAR +> <VAR  CLASS="REPLACEABLE" -><I ->databasename</I -></TT +>databasename</VAR  > < <TT  CLASS="FILENAME"  >/path/to/samba/examples/pdb/mysql/mysql.dump</TT @@ -1376,9 +1344,9 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN632" -></A ->3.7.3. Configuring</H2 +NAME="AEN535" +>3.7.3. Configuring</A +></H2  ><P  >This plugin lacks some good documentation, but here is some short info:</P  ><P @@ -1487,9 +1455,9 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN649" -></A ->3.7.4. Using plaintext passwords or encrypted password</H2 +NAME="AEN552" +>3.7.4. Using plaintext passwords or encrypted password</A +></H2  ><P  >I strongly discourage the use of plaintext passwords, however, you can use them:</P  ><P @@ -1502,9 +1470,9 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN654" -></A ->3.7.5. Getting non-column data from the table</H2 +NAME="AEN557" +>3.7.5. Getting non-column data from the table</A +></H2  ><P  >It is possible to have not all data in the database and making some 'constant'.</P  ><P @@ -1528,17 +1496,17 @@ CLASS="SECT1"  ><H1  CLASS="SECT1"  ><A -NAME="AEN662" -></A ->3.8. Passdb XML plugin</H1 +NAME="AEN565" +>3.8. Passdb XML plugin</A +></H1  ><DIV  CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN664" -></A ->3.8.1. Building</H2 +NAME="AEN567" +>3.8.1. Building</A +></H2  ><P  >This module requires libxml2 to be installed.</P  ><P @@ -1556,9 +1524,9 @@ CLASS="SECT2"  ><H2  CLASS="SECT2"  ><A -NAME="AEN670" -></A ->3.8.2. Usage</H2 +NAME="AEN573" +>3.8.2. Usage</A +></H2  ><P  >The usage of pdb_xml is pretty straightforward. To export data, use:  | 
