summaryrefslogtreecommitdiff
path: root/docs/htmldocs/Samba3-ByExample/appendix.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/htmldocs/Samba3-ByExample/appendix.html')
-rw-r--r--docs/htmldocs/Samba3-ByExample/appendix.html1065
1 files changed, 0 insertions, 1065 deletions
diff --git a/docs/htmldocs/Samba3-ByExample/appendix.html b/docs/htmldocs/Samba3-ByExample/appendix.html
deleted file mode 100644
index 88e5fc2e48..0000000000
--- a/docs/htmldocs/Samba3-ByExample/appendix.html
+++ /dev/null
@@ -1,1065 +0,0 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 15. A Collection of Useful Tidbits</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Samba-3 by Example"><link rel="up" href="RefSection.html" title="Part III. Reference Section"><link rel="prev" href="ch14.html" title="Chapter 14. Samba Support"><link rel="next" href="primer.html" title="Chapter 16. Networking Primer"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 15. A Collection of Useful Tidbits</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch14.html">Prev</a> </td><th width="60%" align="center">Part III. Reference Section</th><td width="20%" align="right"> <a accesskey="n" href="primer.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 15. A Collection of Useful Tidbits"><div class="titlepage"><div><div><h2 class="title"><a name="appendix"></a>Chapter 15. A Collection of Useful Tidbits</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="appendix.html#domjoin">Joining a Domain: Windows 200x/XP Professional</a></span></dt><dt><span class="sect1"><a href="appendix.html#id387559">Samba System File Location</a></span></dt><dt><span class="sect1"><a href="appendix.html#id387952">Starting Samba</a></span></dt><dt><span class="sect1"><a href="appendix.html#id388254">DNS Configuration Files</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix.html#id388264">The Forward Zone File for the Loopback Adaptor</a></span></dt><dt><span class="sect2"><a href="appendix.html#id388308">The Reverse Zone File for the Loopback Adaptor</a></span></dt><dt><span class="sect2"><a href="appendix.html#id388408">DNS Root Server Hint File</a></span></dt></dl></dd><dt><span class="sect1"><a href="appendix.html#altldapcfg">Alternative LDAP Database Initialization</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix.html#id388463">Initialization of the LDAP Database</a></span></dt></dl></dd><dt><span class="sect1"><a href="appendix.html#id388919">The LDAP Account Manager</a></span></dt><dt><span class="sect1"><a href="appendix.html#id389839">IDEALX Management Console</a></span></dt><dt><span class="sect1"><a href="appendix.html#ch12-SUIDSGID">Effect of Setting File and Directory SUID/SGID Permissions Explained</a></span></dt><dt><span class="sect1"><a href="appendix.html#ch12dblck">Shared Data Integrity</a></span></dt><dd><dl><dt><span class="sect2"><a href="appendix.html#id390270">Microsoft Access</a></span></dt><dt><span class="sect2"><a href="appendix.html#id390409">Act! Database Sharing</a></span></dt><dt><span class="sect2"><a href="appendix.html#id390484">Opportunistic Locking Controls</a></span></dt></dl></dd></dl></div><p>
- <a class="indexterm" name="id387011"></a>
- <a class="indexterm" name="id387018"></a>
- Information presented here is considered to be either basic or well-known material that is informative
- yet helpful. Over the years, I have observed an interesting behavior. There is an expectation that
- the process for joining a Windows client to a Samba-controlled Windows domain may somehow involve steps
- different from doing so with Windows NT4 or a Windows ADS domain. Be assured that the steps are identical,
- as shown in the example given below.
- </p><div class="sect1" title="Joining a Domain: Windows 200x/XP Professional"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="domjoin"></a>Joining a Domain: Windows 200x/XP Professional</h2></div></div></div><p>
- <a class="indexterm" name="id387044"></a>
- Microsoft Windows NT/200x/XP Professional platforms can participate in Domain Security.
- This section steps through the process for making a Windows 200x/XP Professional machine a
- member of a Domain Security environment. It should be noted that this process is identical
- when joining a domain that is controlled by Windows NT4/200x as well as a Samba PDC.
- </p><div class="procedure" title="Procedure 15.1. Steps to Join a Domain"><a name="id387055"></a><p class="title"><b>Procedure 15.1. Steps to Join a Domain</b></p><ol class="procedure" type="1"><li class="step" title="Step 1"><p>
- Click <span class="guimenu">Start</span>.
- </p></li><li class="step" title="Step 2"><p>
- Right-click <span class="guimenu">My Computer</span>, and then select <span class="guimenuitem">Properties</span>.
- </p></li><li class="step" title="Step 3"><p>
- The opening panel is the same one that can be reached by clicking <span class="guimenu">System</span> on the Control Panel.
- See <a class="link" href="appendix.html#swxpp001" title="Figure 15.1. The General Panel.">&#8220;The General Panel.&#8221;</a>.
- </p><div class="figure"><a name="swxpp001"></a><p class="title"><b>Figure 15.1. The General Panel.</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/wxpp001.png" alt="The General Panel."></div></div></div><p><br class="figure-break">
- </p></li><li class="step" title="Step 4"><p>
- Click the <span class="guimenu">Computer Name</span> tab.
- This panel shows the <span class="guimenuitem">Computer Description</span>, the <span class="guimenuitem">Full computer name</span>,
- and the <span class="guimenuitem">Workgroup</span> or <span class="guimenuitem">Domain name</span>.
- </p><p>
- Clicking the <span class="guimenu">Network ID</span> button launches the configuration wizard. Do not use this with
- Samba-3. If you wish to change the computer name, or join or leave the domain, click the <span class="guimenu">Change</span> button.
- See <a class="link" href="appendix.html#swxpp004" title="Figure 15.2. The Computer Name Panel.">&#8220;The Computer Name Panel.&#8221;</a>.
- </p><div class="figure"><a name="swxpp004"></a><p class="title"><b>Figure 15.2. The Computer Name Panel.</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/wxpp004.png" alt="The Computer Name Panel."></div></div></div><p><br class="figure-break">
- </p></li><li class="step" title="Step 5"><p>
- Click on <span class="guimenu">Change</span>. This panel shows that our example machine (TEMPTATION) is in a workgroup called WORKGROUP.
- We join the domain called MIDEARTH. See <a class="link" href="appendix.html#swxpp006" title="Figure 15.3. The Computer Name Changes Panel">&#8220;The Computer Name Changes Panel&#8221;</a>.
- </p><div class="figure"><a name="swxpp006"></a><p class="title"><b>Figure 15.3. The Computer Name Changes Panel</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/wxpp006.png" alt="The Computer Name Changes Panel"></div></div></div><p><br class="figure-break">
- </p></li><li class="step" title="Step 6"><p>
- Enter the name <span class="guimenu">MIDEARTH</span> in the field below the Domain radio button.
- </p><p>
- This panel shows that our example machine (TEMPTATION) is set to join the domain called MIDEARTH. See <a class="link" href="appendix.html#swxpp007" title="Figure 15.4. The Computer Name Changes Panel Domain MIDEARTH">&#8220;The Computer Name Changes Panel Domain MIDEARTH&#8221;</a>.
- </p><div class="figure"><a name="swxpp007"></a><p class="title"><b>Figure 15.4. The Computer Name Changes Panel Domain MIDEARTH</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/wxpp007.png" alt="The Computer Name Changes Panel Domain MIDEARTH"></div></div></div><p><br class="figure-break">
- </p></li><li class="step" title="Step 7"><p>
- Now click the <span class="guimenu">OK</span> button. A dialog box should appear to allow you to provide the credentials (username and password)
- of a domain administrative account that has the rights to add machines to the domain.
- </p><p>
- Enter the name <span class="quote">&#8220;<span class="quote">root</span>&#8221;</span> and the root password from your Samba-3 server. See <a class="link" href="appendix.html#swxpp008" title="Figure 15.5. Computer Name Changes User name and Password Panel">&#8220;Computer Name Changes User name and Password Panel&#8221;</a>.
- </p><div class="figure"><a name="swxpp008"></a><p class="title"><b>Figure 15.5. Computer Name Changes User name and Password Panel</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/wxpp008.png" alt="Computer Name Changes User name and Password Panel"></div></div></div><p><br class="figure-break">
- </p></li><li class="step" title="Step 8"><p>
- Click <span class="guimenu">OK</span>.
- </p><p>
- The <span class="quote">&#8220;<span class="quote">Welcome to the MIDEARTH domain</span>&#8221;</span> dialog box should appear. At this point, the machine must be rebooted.
- Joining the domain is now complete.
- </p></li></ol></div><p>
- <a class="indexterm" name="id387460"></a>
- <a class="indexterm" name="id387466"></a>
- The screen capture shown in <a class="link" href="appendix.html#swxpp007" title="Figure 15.4. The Computer Name Changes Panel Domain MIDEARTH">&#8220;The Computer Name Changes Panel Domain MIDEARTH&#8221;</a> has a button labeled <span class="guimenu">More...</span>. This button opens a
- panel in which you can set (or change) the Primary DNS suffix of the computer. This is a parameter that mainly affects members
- of Microsoft Active Directory. Active Directory is heavily oriented around the DNS namespace.
- </p><p>
- <a class="indexterm" name="id387490"></a>
- <a class="indexterm" name="id387497"></a>
- Where NetBIOS technology uses WINS as well as UDP broadcast as key mechanisms for name resolution, Active Directory servers
- register their services with the Microsoft Dynamic DNS server. Windows clients must be able to query the correct DNS server
- to find the services (like which machines are domain controllers or which machines have the Netlogon service running).
- </p><p>
- <a class="indexterm" name="id387512"></a>
- The default setting of the Primary DNS suffix is the Active Directory domain name. When you change the Primary DNS suffix,
- this does not affect domain membership, but it can break network browsing and the ability to resolve your computer name to
- a valid IP address.
- </p><p>
- The Primary DNS suffix parameter principally affects MS Windows clients that are members of an Active Directory domain.
- Where the client is a member of a Samba domain, it is preferable to leave this field blank.
- </p><p>
- <a class="indexterm" name="id387534"></a>
- According to Microsoft documentation, <span class="quote">&#8220;<span class="quote">If this computer belongs to a group with <code class="constant">Group Policy</code>
- enabled on <code class="literal">Primary DNS suffice of this computer</code>, the string specified in the Group Policy is used
- as the primary DNS suffix and you might need to restart your computer to view the correct setting. The local setting is
- used only if Group Policy is disabled or unspecified.</span>&#8221;</span>
- </p></div><div class="sect1" title="Samba System File Location"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id387559"></a>Samba System File Location</h2></div></div></div><p><a class="indexterm" name="id387566"></a><a class="indexterm" name="id387574"></a><a class="indexterm" name="id387581"></a>
- One of the frustrations expressed by subscribers to the Samba mailing lists revolves around the choice of where the default Samba Team
- build and installation process locates its Samba files. The location, chosen in the early 1990s, for the default installation is
- in the <code class="filename">/usr/local/samba</code> directory. This is a perfectly reasonable location, particularly given all the other
- Open Source software that installs into the <code class="filename">/usr/local</code> subdirectories.
- </p><p>
- Several UNIX vendors, and Linux vendors in particular, elected to locate the Samba files in a location other than the Samba Team
- default.
- </p><p><a class="indexterm" name="id387612"></a><a class="indexterm" name="id387624"></a><a class="indexterm" name="id387631"></a><a class="indexterm" name="id387643"></a><a class="indexterm" name="id387650"></a><a class="indexterm" name="id387662"></a><a class="indexterm" name="id387670"></a><a class="indexterm" name="id387677"></a><a class="indexterm" name="id387685"></a><a class="indexterm" name="id387693"></a><a class="indexterm" name="id387701"></a><a class="indexterm" name="id387709"></a><a class="indexterm" name="id387717"></a><a class="indexterm" name="id387725"></a><a class="indexterm" name="id387732"></a><a class="indexterm" name="id387740"></a>
- Linux vendors, working in conjunction with the Free Standards Group (FSG), Linux Standards Base (LSB), and File Hierarchy
- System (FHS), have elected to locate the configuration files under the <code class="filename">/etc/samba</code> directory, common binary
- files (those used by users) in the <code class="filename">/usr/bin</code> directory, and the administrative files (daemons) in the
- <code class="filename">/usr/sbin</code> directory. Support files for the Samba Web Admin Tool (SWAT) are located under the
- <code class="filename">/usr/share</code> directory, either in <code class="filename">/usr/share/samba/swat</code> or in
- <code class="filename">/usr/share/swat</code>. There are additional support files for <code class="literal">smbd</code> in the
- <code class="filename">/usr/lib/samba</code> directory tree. The files located there include the dynamically loadable modules for the
- passdb backend as well as for the VFS modules.
- </p><p><a class="indexterm" name="id387804"></a><a class="indexterm" name="id387812"></a><a class="indexterm" name="id387820"></a>
- Samba creates runtime control files and generates log files. The runtime control files (tdb and dat files) are stored in
- the <code class="filename">/var/lib/samba</code> directory. Log files are created in <code class="filename">/var/log/samba.</code>
- </p><p>
- When Samba is built and installed using the default Samba Team process, all files are located under the
- <code class="filename">/usr/local/samba</code> directory tree. This makes it simple to find the files that Samba owns.
- </p><p><a class="indexterm" name="id387854"></a>
- One way to find the Samba files that are installed on your UNIX/Linux system is to search for the location
- of all files called <code class="literal">smbd</code>. Here is an example:
-</p><pre class="screen">
-<code class="prompt">root# </code> find / -name smbd -print
-</pre><p>
- You can find the location of the configuration files by running:
-</p><pre class="screen">
-<code class="prompt">root# </code> /path-to-binary-file/smbd -b | more
-...
-Paths:
- SBINDIR: /usr/sbin
- BINDIR: /usr/bin
- SWATDIR: /usr/share/samba/swat
- CONFIGFILE: /etc/samba/smb.conf
- LOGFILEBASE: /var/log/samba
- LMHOSTSFILE: /etc/samba/lmhosts
- LIBDIR: /usr/lib/samba
- SHLIBEXT: so
- LOCKDIR: /var/lib/samba
- PIDDIR: /var/run/samba
- SMB_PASSWD_FILE: /etc/samba/smbpasswd
- PRIVATE_DIR: /etc/samba
-...
-</pre><p>
- If you wish to locate the Samba version, just run:
-</p><pre class="screen">
-<code class="prompt">root# </code> /path-to-binary-file/smbd -V
-Version 3.0.20-SUSE
-</pre><p>
- </p><p>
- Many people have been caught by installation of Samba using the default Samba Team process when it was already installed
- by the platform vendor's method. If your platform uses RPM format packages, you can check to see if Samba is installed by
- executing:<a class="indexterm" name="id387919"></a>
-</p><pre class="screen">
-<code class="prompt">root# </code> rpm -qa | grep samba
-samba3-pdb-3.0.20-1
-samba3-vscan-0.3.6-0
-samba3-winbind-3.0.20-1
-samba3-3.0.20-1
-samba3-python-3.0.20-1
-samba3-utils-3.0.20-1
-samba3-doc-3.0.20-1
-samba3-client-3.0.20-1
-samba3-cifsmount-3.0.20-1
- </pre><p><a class="indexterm" name="id387940"></a>
- The package names, of course, vary according to how the vendor, or the binary package builder, prepared them.
- </p></div><div class="sect1" title="Starting Samba"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id387952"></a>Starting Samba</h2></div></div></div><p><a class="indexterm" name="id387958"></a>
- Samba essentially consists of two or three daemons. A daemon is a UNIX application that runs in the background and provides services.
- An example of a service is the Apache Web server for which the daemon is called <code class="literal">httpd</code>. In the case of Samba, there
- are three daemons, two of which are needed as a minimum.
- </p><p>
- The Samba server is made up of the following daemons:
- </p><div class="example"><a name="ch12SL"></a><p class="title"><b>Example 15.1. A Useful Samba Control Script for SUSE Linux</b></p><div class="example-contents"><pre class="screen">
-#!/bin/bash
-#
-# Script to start/stop samba
-# Locate this in /sbin as a file called 'samba'
-
-RCD=/etc/rc.d
-
-if [ z$1 == 'z' ]; then
- echo $0 - No arguments given; must be start or stop.
- exit
-fi
-
-if [ $1 == 'start' ]; then
- ${RCD}/nmb start
- ${RCD}/smb start
- ${RCD}/winbind start
-
-fi
-if [ $1 == 'stop' ]; then
- ${RCD}/smb stop
- ${RCD}/winbind stop
- ${RCD}/nmb stop
-fi
-if [ $1 == 'restart' ]; then
- ${RCD}/smb stop
- ${RCD}/winbind stop
- ${RCD}/nmb stop
- sleep 5
- ${RCD}/nmb start
- ${RCD}/smb start
- ${RCD}/winbind start
-fi
-exit 0
-</pre></div></div><br class="example-break"><div class="variablelist"><dl><dt><span class="term">nmbd</span></dt><dd><p>
- <a class="indexterm" name="id388017"></a>
- <a class="indexterm" name="id388024"></a>
- This daemon handles all name registration and resolution requests. It is the primary vehicle involved
- in network browsing. It handles all UDP-based protocols. The <code class="literal">nmbd</code> daemon should
- be the first command started as part of the Samba startup process.
- </p></dd><dt><span class="term">smbd</span></dt><dd><p>
- <a class="indexterm" name="id388051"></a>
- <a class="indexterm" name="id388058"></a>
- This daemon handles all TCP/IP-based connection services for file- and print-based operations. It also
- manages local authentication. It should be started immediately following the startup of <code class="literal">nmbd</code>.
- </p></dd><dt><span class="term">winbindd</span></dt><dd><p>
- <a class="indexterm" name="id388085"></a>
- <a class="indexterm" name="id388092"></a>
- This daemon should be started when Samba is a member of a Windows NT4 or ADS domain. It is also needed when
- Samba has trust relationships with another domain. The <code class="literal">winbindd</code> daemon will check the
- <code class="filename">smb.conf</code> file for the presence of the <em class="parameter"><code>idmap uid</code></em> and <em class="parameter"><code>idmap gid</code></em>
- parameters. If they are not found, <code class="literal">winbindd</code> bails out and refuses to start.
- </p></dd></dl></div><p>
- When Samba has been packaged by an operating system vendor, the startup process is typically a custom feature of its
- integration into the platform as a whole. Please refer to your operating system platform administration manuals for
- specific information pertaining to correct management of Samba startup.
- </p><div class="example"><a name="ch12RHscript"></a><p class="title"><b>Example 15.2. A Sample Samba Control Script for Red Hat Linux</b></p><div class="example-contents"><pre class="screen">
-#!/bin/sh
-#
-# chkconfig: 345 81 35
-# description: Starts and stops the Samba smbd and nmbd daemons \
-# used to provide SMB network services.
-
-# Source function library.
-. /etc/rc.d/init.d/functions
-# Source networking configuration.
-. /etc/sysconfig/network
-# Check that networking is up.
-[ ${NETWORKING} = "no" ] &amp;&amp; exit 0
-CONFIG=/etc/samba/smb.conf
-# Check that smb.conf exists.
-[ -f $CONFIG ] || exit 0
-
-# See how we were called.
-case "$1" in
- start)
- echo -n "Starting SMB services: "
- daemon smbd -D; daemon nmbd -D; echo;
- touch /var/lock/subsys/smb
- ;;
- stop)
- echo -n "Shutting down SMB services: "
- smbdpids=`ps guax | grep smbd | grep -v grep | awk '{print $2}'`
- for pid in $smbdpids; do
- kill -TERM $pid
- done
- killproc nmbd -TERM; rm -f /var/lock/subsys/smb
- echo ""
- ;;
- status)
- status smbd; status nmbd;
- ;;
- restart)
- echo -n "Restarting SMB services: "
- $0 stop; $0 start;
- echo "done."
- ;;
- *)
- echo "Usage: smb {start|stop|restart|status}"
- exit 1
-esac
-</pre></div></div><br class="example-break"><p><a class="indexterm" name="id388184"></a>
- SUSE Linux implements individual control over each Samba daemon. A Samba control script that can be conveniently
- executed from the command line is shown in <a class="link" href="appendix.html#ch12SL" title="Example 15.1. A Useful Samba Control Script for SUSE Linux">&#8220;A Useful Samba Control Script for SUSE Linux&#8221;</a>. This can be located in the directory
- <code class="filename">/sbin</code> in a file called <code class="filename">samba</code>. This type of control script should be
- owned by user root and group root, and set so that only root can execute it.
- </p><p><a class="indexterm" name="id388216"></a>
- A sample startup script for a Red Hat Linux system is shown in <a class="link" href="appendix.html#ch12RHscript" title="Example 15.2. A Sample Samba Control Script for Red Hat Linux">&#8220;A Sample Samba Control Script for Red Hat Linux&#8221;</a>.
- This file could be located in the directory <code class="filename">/etc/rc.d</code> and can be called
- <code class="filename">samba</code>. A similar startup script is required to control <code class="literal">winbind</code>.
- If you want to find more information regarding startup scripts please refer to the packaging section of
- the Samba source code distribution tarball. The packaging files for each platform include a
- startup control file.
- </p></div><div class="sect1" title="DNS Configuration Files"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id388254"></a>DNS Configuration Files</h2></div></div></div><p>
- The following files are common to all DNS server configurations. Rather than repeat them multiple times, they
- are presented here for general reference.
- </p><div class="sect2" title="The Forward Zone File for the Loopback Adaptor"><div class="titlepage"><div><div><h3 class="title"><a name="id388264"></a>The Forward Zone File for the Loopback Adaptor</h3></div></div></div><p>
- The forward zone file for the loopback address never changes. An example file is shown
- in <a class="link" href="appendix.html#loopback" title="Example 15.3. DNS Localhost Forward Zone File: /var/lib/named/localhost.zone">&#8220;DNS Localhost Forward Zone File: /var/lib/named/localhost.zone&#8221;</a>. All traffic destined for an IP address that is hosted on a
- physical interface on the machine itself is routed to the loopback adaptor. This is
- a fundamental design feature of the TCP/IP protocol implementation. The loopback adaptor
- is called <code class="constant">localhost</code>.
- </p><div class="example"><a name="loopback"></a><p class="title"><b>Example 15.3. DNS Localhost Forward Zone File: <code class="filename">/var/lib/named/localhost.zone</code></b></p><div class="example-contents"><pre class="screen">
-$TTL 1W
-@ IN SOA @ root (
- 42 ; serial
- 2D ; refresh
- 4H ; retry
- 6W ; expiry
- 1W ) ; minimum
-
- IN NS @
- IN A 127.0.0.1
-</pre></div></div><br class="example-break"></div><div class="sect2" title="The Reverse Zone File for the Loopback Adaptor"><div class="titlepage"><div><div><h3 class="title"><a name="id388308"></a>The Reverse Zone File for the Loopback Adaptor</h3></div></div></div><p>
- The reverse zone file for the loopback address as shown in <a class="link" href="appendix.html#dnsloopy" title="Example 15.4. DNS Localhost Reverse Zone File: /var/lib/named/127.0.0.zone">&#8220;DNS Localhost Reverse Zone File: /var/lib/named/127.0.0.zone&#8221;</a>
- is necessary so that references to the address <code class="constant">127.0.0.1</code> can be
- resolved to the correct name of the interface.
- </p><div class="example"><a name="dnsloopy"></a><p class="title"><b>Example 15.4. DNS Localhost Reverse Zone File: <code class="filename">/var/lib/named/127.0.0.zone</code></b></p><div class="example-contents"><pre class="screen">
-$TTL 1W
-@ IN SOA localhost. root.localhost. (
- 42 ; serial
- 2D ; refresh
- 4H ; retry
- 6W ; expiry
- 1W ) ; minimum
-
- IN NS localhost.
-1 IN PTR localhost.
-</pre></div></div><br class="example-break"><div class="example"><a name="roothint"></a><p class="title"><b>Example 15.5. DNS Root Name Server Hint File: <code class="filename">/var/lib/named/root.hint</code></b></p><div class="example-contents"><pre class="screen">
-; This file is made available by InterNIC under anonymous FTP as
-; file /domain/named.root
-; on server FTP.INTERNIC.NET
-; last update: Nov 5, 2002. Related version of root zone: 2002110501
-; formerly NS.INTERNIC.NET
-. 3600000 IN NS A.ROOT-SERVERS.NET.
-A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
-; formerly NS1.ISI.EDU
-. 3600000 NS B.ROOT-SERVERS.NET.
-B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
-; formerly C.PSI.NET
-. 3600000 NS C.ROOT-SERVERS.NET.
-C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
-; formerly TERP.UMD.EDU
-. 3600000 NS D.ROOT-SERVERS.NET.
-D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
-; formerly NS.NASA.GOV
-. 3600000 NS E.ROOT-SERVERS.NET.
-E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
-; formerly NS.ISC.ORG
-. 3600000 NS F.ROOT-SERVERS.NET.
-F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
-; formerly NS.NIC.DDN.MIL
-. 3600000 NS G.ROOT-SERVERS.NET.
-G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
-; formerly AOS.ARL.ARMY.MIL
-. 3600000 NS H.ROOT-SERVERS.NET.
-H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
-; formerly NIC.NORDU.NET
-. 3600000 NS I.ROOT-SERVERS.NET.
-I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
-; operated by VeriSign, Inc.
-. 3600000 NS J.ROOT-SERVERS.NET.
-J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
-; housed in LINX, operated by RIPE NCC
-. 3600000 NS K.ROOT-SERVERS.NET.
-K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
-; operated by IANA
-. 3600000 NS L.ROOT-SERVERS.NET.
-L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
-; housed in Japan, operated by WIDE
-. 3600000 NS M.ROOT-SERVERS.NET.
-M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
-; End of File
-</pre></div></div><br class="example-break"></div><div class="sect2" title="DNS Root Server Hint File"><div class="titlepage"><div><div><h3 class="title"><a name="id388408"></a>DNS Root Server Hint File</h3></div></div></div><p>
- The content of the root hints file as shown in <a class="link" href="appendix.html#roothint" title="Example 15.5. DNS Root Name Server Hint File: /var/lib/named/root.hint">&#8220;DNS Root Name Server Hint File: /var/lib/named/root.hint&#8221;</a> changes slowly over time.
- Periodically this file should be updated from the source shown. Because
- of its size, this file is located at the end of this chapter.
- </p></div></div><div class="sect1" title="Alternative LDAP Database Initialization"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="altldapcfg"></a>Alternative LDAP Database Initialization</h2></div></div></div><p><a class="indexterm" name="id388437"></a><a class="indexterm" name="id388448"></a>
- The following procedure may be used as an alternative means of configuring
- the initial LDAP database. Many administrators prefer to have greater control
- over how system files get configured.
- </p><div class="sect2" title="Initialization of the LDAP Database"><div class="titlepage"><div><div><h3 class="title"><a name="id388463"></a>Initialization of the LDAP Database</h3></div></div></div><p><a class="indexterm" name="id388470"></a><a class="indexterm" name="id388478"></a><a class="indexterm" name="id388489"></a>
- The first step to get the LDAP server ready for action is to create the LDIF file from
- which the LDAP database will be preloaded. This is necessary to create the containers
- into which the user, group, and other accounts are written. It is also necessary to
- preload the well-known Windows NT Domain Groups, as they must have the correct SID so
- that they can be recognized as special NT Groups by the MS Windows clients.
- </p><div class="procedure" title="Procedure 15.2. LDAP Directory Pre-Load Steps"><a name="ldapinit"></a><p class="title"><b>Procedure 15.2. LDAP Directory Pre-Load Steps</b></p><ol class="procedure" type="1"><li class="step" title="Step 1"><p>
- Create a directory in which to store the files you use to generate
- the LDAP LDIF file for your system. Execute the following:
-</p><pre class="screen">
-<code class="prompt">root# </code> mkdir /etc/openldap/SambaInit
-<code class="prompt">root# </code> chown root:root /etc/openldap/SambaInit
-<code class="prompt">root# </code> chmod 700 /etc/openldap/SambaInit
-</pre><p>
- </p></li><li class="step" title="Step 2"><p>
- Install the files shown in <a class="link" href="appendix.html#sbehap-ldapreconfa" title="Example 15.6. LDAP Pre-configuration Script: SMBLDAP-ldif-preconfig.sh Part A">&#8220;LDAP Pre-configuration Script: SMBLDAP-ldif-preconfig.sh Part A&#8221;</a>, <a class="link" href="appendix.html#sbehap-ldapreconfb" title="Example 15.7. LDAP Pre-configuration Script: SMBLDAP-ldif-preconfig.sh Part B">&#8220;LDAP Pre-configuration Script: SMBLDAP-ldif-preconfig.sh Part B&#8221;</a>,
- and <a class="link" href="appendix.html#sbehap-ldapreconfc" title="Example 15.8. LDAP Pre-configuration Script: SMBLDAP-ldif-preconfig.sh Part C">&#8220;LDAP Pre-configuration Script: SMBLDAP-ldif-preconfig.sh Part C&#8221;</a> into the directory
- <code class="filename">/etc/openldap/SambaInit/SMBLDAP-ldif-preconfig.sh.</code> These three files are,
- respectively, parts A, B, and C of the <code class="filename">SMBLDAP-ldif-preconfig.sh</code> file.
- </p></li><li class="step" title="Step 3"><p>
- Install the files shown in <a class="link" href="appendix.html#sbehap-ldifpata" title="Example 15.9. LDIF Pattern File Used to Pre-configure LDAP Part A">&#8220;LDIF Pattern File Used to Pre-configure LDAP Part A&#8221;</a> and <a class="link" href="appendix.html#sbehap-ldifpatb" title="Example 15.10. LDIF Pattern File Used to Pre-configure LDAP Part B">&#8220;LDIF Pattern File Used to Pre-configure LDAP Part B&#8221;</a> into the directory
- <code class="filename">/etc/openldap/SambaInit/.</code> These two files are
- parts A and B, respectively, of the <code class="filename">init-ldif.pat</code> file.
- </p></li><li class="step" title="Step 4"><p>
- Change to the <code class="filename">/etc/openldap/SambaInit</code> directory. Execute the following:
-</p><pre class="screen">
-<code class="prompt">root# </code> sh SMBLDAP-ldif-preconfig.sh
-
-How do you wish to refer to your organization?
-Suggestions:
- Black Tire Company, Inc.
- Cat With Hat Ltd.
-How would you like your organization name to appear?
-Your organization name is: My Organization
-Enter a new name is this is not what you want, press Enter to Continue.
-Name [My Organization]: Abmas Inc.
-
-Samba Config File Location [/etc/samba/smb.conf]:
-Enter a new full path or press Enter to continue.
-Samba Config File Location [/etc/samba/smb.conf]:
-Domain Name: MEGANET2
-Domain SID: S-1-5-21-3504140859-1010554828-2431957765
-
-The name of your Internet domain is now needed in a special format
-as follows, if your domain name is mydomain.org, what we need is
-the information in the form of:
- Domain ID: mydomain
- Top level: org
-If your fully qualified hostname is: snoopy.bazaar.garagesale.net
-where "snoopy" is the name of the machine,
-Then the information needed is:
- Domain ID: garagesale
- Top Level: net
-
-Found the following domain name: abmas.biz
-I think the bit we are looking for might be: abmas
-Enter the domain name or press Enter to continue:
-
-The top level organization name I will use is: biz
-Enter the top level org name or press Enter to continue:
-<code class="prompt">root# </code>
-</pre><p>
- This creates a file called <code class="filename">MEGANET2.ldif</code>.
- </p></li><li class="step" title="Step 5"><p>
- It is now time to preload the LDAP database with the following
- command:
-</p><pre class="screen">
-<code class="prompt">root# </code> slapadd -v -l MEGANET2.ldif
-added: "dc=abmas,dc=biz" (00000001)
-added: "cn=Manager,dc=abmas,dc=biz" (00000002)
-added: "ou=People,dc=abmas,dc=biz" (00000003)
-added: "ou=Computers,dc=abmas,dc=biz" (00000004)
-added: "ou=Groups,dc=abmas,dc=biz" (00000005)
-added: "ou=Domains,dc=abmas,dc=biz" (00000006)
-added: "sambaDomainName=MEGANET2,ou=Domains,dc=abmas,dc=biz" (00000007)
-added: "cn=domadmins,ou=Groups,dc=abmas,dc=biz" (00000008)
-added: "cn=domguests,ou=Groups,dc=abmas,dc=biz" (00000009)
-added: "cn=domusers,ou=Groups,dc=abmas,dc=biz" (0000000a)
-</pre><p>
- You should verify that the account information was correctly loaded by executing:
-</p><pre class="screen">
-<code class="prompt">root# </code> slapcat
-dn: dc=abmas,dc=biz
-objectClass: dcObject
-objectClass: organization
-dc: abmas
-o: Abmas Inc.
-description: Posix and Samba LDAP Identity Database
-structuralObjectClass: organization
-entryUUID: af552f8e-c4a1-1027-9002-9421e01bf474
-creatorsName: cn=manager,dc=abmas,dc=biz
-modifiersName: cn=manager,dc=abmas,dc=biz
-createTimestamp: 20031217055747Z
-modifyTimestamp: 20031217055747Z
-entryCSN: 2003121705:57:47Z#0x0001#0#0000
-...
-
-dn: cn=domusers,ou=Groups,dc=abmas,dc=biz
-objectClass: posixGroup
-objectClass: sambaGroupMapping
-gidNumber: 513
-cn: domusers
-sambaSID: S-1-5-21-3504140859-1010554828-2431957765-513
-sambaGroupType: 2
-displayName: Domain Users
-description: Domain Users
-structuralObjectClass: posixGroup
-entryUUID: af7e98ba-c4a1-1027-900b-9421e01bf474
-creatorsName: cn=manager,dc=abmas,dc=biz
-modifiersName: cn=manager,dc=abmas,dc=biz
-createTimestamp: 20031217055747Z
-modifyTimestamp: 20031217055747Z
-entryCSN: 2003121705:57:47Z#0x000a#0#0000
-</pre><p>
- </p></li><li class="step" title="Step 6"><p>
- Your LDAP database is ready for testing. You can now start the LDAP server
- using the system tool for your Linux operating system. For SUSE Linux, you can
- do this as follows:
-</p><pre class="screen">
-<code class="prompt">root# </code> rcldap start
-</pre><p>
- </p></li><li class="step" title="Step 7"><p>
- It is now a good idea to validate that the LDAP server is running correctly.
- Execute the following:
-</p><pre class="screen">
-<code class="prompt">root# </code> ldapsearch -x -b "dc=abmas,dc=biz" "(ObjectClass=*)"
-# extended LDIF
-#
-# LDAPv3
-# base &lt;dc=abmas,dc=biz&gt; with scope sub
-# filter: (ObjectClass=*)
-# requesting: ALL
-#
-
-# abmas.biz
-dn: dc=abmas,dc=biz
-objectClass: dcObject
-objectClass: organization
-dc: abmas
-o: Abmas Inc.
-description: Posix and Samba LDAP Identity Database
-...
-# domusers, Groups, abmas.biz
-dn: cn=domusers,ou=Groups,dc=abmas,dc=biz
-objectClass: posixGroup
-objectClass: sambaGroupMapping
-gidNumber: 513
-cn: domusers
-sambaSID: S-1-5-21-3504140859-1010554828-2431957765-513
-sambaGroupType: 2
-displayName: Domain Users
-description: Domain Users
-
-# search result
-search: 2
-result: 0 Success
-
-# numResponses: 11
-# numEntries: 10
-</pre><p>
- Your LDAP server is ready for creation of additional accounts.
- </p></li></ol></div></div><div class="example"><a name="sbehap-ldapreconfa"></a><p class="title"><b>Example 15.6. LDAP Pre-configuration Script: <code class="filename">SMBLDAP-ldif-preconfig.sh</code> Part A</b></p><div class="example-contents"><pre class="screen">
-#!/bin/bash
-#
-# This script prepares the ldif LDAP load file only
-#
-
-# Pattern File Name
-file=init-ldif.pat
-
-# The name of my organization
-ORGNAME="My Organization"
-
-# My Internet domain. ie: if my domain is: buckets.org, INETDOMAIN="buckets"
-INETDOMAIN="my-domain"
-
-# In the above case, md domain is: buckets.org, TLDORG="org"
-TLDORG="org"
-
-# This is the Samba Domain/Workgroup Name
-DOMNAME="MYWORKGROUP"
-
-#
-# Here We Go ...
-#
-
-cat &lt;&lt;EOF
-
-How do you wish to refer to your organization?
-
-Suggestions:
- Black Tire Company, Inc.
- Cat With Hat Ltd.
-
-How would you like your organization name to appear?
-
-EOF
-
-echo "Your organization name is: $ORGNAME"
-echo
-echo "Enter a new name or, press Enter to Continue."
-echo
-</pre></div></div><br class="example-break"><div class="example"><a name="sbehap-ldapreconfb"></a><p class="title"><b>Example 15.7. LDAP Pre-configuration Script: <code class="filename">SMBLDAP-ldif-preconfig.sh</code> Part B</b></p><div class="example-contents"><pre class="screen">
-echo -e -n "Name [$ORGNAME]: "
- read name
-
-if [ ! -z "$name" ]; then
- ORGNAME=${name}
-fi
-echo
-sed "s/ORGNAME/${ORGNAME}/g" &lt; $file &gt; $file.tmp1
-
-# Try to find smb.conf
-
-if [ -e /usr/local/samba/lib/smb.conf ]; then
- CONF=/usr/local/samba/lib/smb.conf
-elif [ -e /etc/samba/smb.conf ]; then
- CONF=/etc/samba/smb.conf
-fi
-
-echo "Samba Config File Location [$CONF]: "
-echo
-echo "Enter a new full path or press Enter to continue."
-echo
-echo -n "Samba Config File Location [$CONF]: "
- read name
-if [ ! -z "$name" ]; then
- CONF=$name
-fi
-echo
-
-# Find the name of our Domain/Workgroup
-DOMNAME=`grep -i workgroup ${CONF} | sed "s/ //g" | cut -f2 -d=`
-echo Domain Name: $DOMNAME
-echo
-
-sed "s/DOMNAME/${DOMNAME}/g" &lt; $file.tmp1 &gt; $file.tmp2
-
-DOMSID=`net getlocalsid ${DOMNAME} | cut -f2 -d: | sed "s/ //g"`
-echo Domain SID: $DOMSID
-
-sed "s/DOMSID/${DOMSID}/g" &lt; $file.tmp2 &gt; $file.tmp1
-</pre></div></div><br class="example-break"><div class="example"><a name="sbehap-ldapreconfc"></a><p class="title"><b>Example 15.8. LDAP Pre-configuration Script: <code class="filename">SMBLDAP-ldif-preconfig.sh</code> Part C</b></p><div class="example-contents"><pre class="screen">
-cat &lt;&lt;EOL
-The name of your Internet domain is now needed in a special format
-as follows, if your domain name is mydomain.org, what we need is
-the information in the form of:
- Domain ID: mydomain
- Top level: org
-
-If your fully qualified hostname is: snoopy.bazaar.garagesale.net
-where "snoopy" is the name of the machine,
-Then the information needed is:
- Domain ID: garagesale
- Top Level: net
-
-EOL
-INETDOMAIN=`hostname -d | cut -f1 -d.`
-echo Found the following domain name: `hostname -d`
-echo "I think the bit we are looking for might be: $INETDOMAIN"
-echo
-echo -n "Enter the domain name or press Enter to continue: "
- read domnam
-if [ ! -z $domnam ]; then
- INETDOMAIN=$domnam
-fi
-echo
-sed "s/INETDOMAIN/${INETDOMAIN}/g" &lt; $file.tmp1 &gt; $file.tmp2
-TLDORG=`hostname -d | sed "s/${INETDOMAIN}.//g"`
-echo "The top level organization name I will use is: ${TLDORG}"
-echo
-echo -n "Enter the top level org name or press Enter to continue: "
- read domnam
-if [ ! -z $domnam ]; then
- TLDORG=$domnam
-fi
-sed "s/TLDORG/${TLDORG}/g" &lt; $file.tmp2 &gt; $DOMNAME.ldif
-rm $file.tmp*
-exit 0
-</pre></div></div><br class="example-break"><div class="example"><a name="sbehap-ldifpata"></a><p class="title"><b>Example 15.9. LDIF Pattern File Used to Pre-configure LDAP Part A</b></p><div class="example-contents"><pre class="screen">
-dn: dc=INETDOMAIN,dc=TLDORG
-objectClass: dcObject
-objectClass: organization
-dc: INETDOMAIN
-o: ORGNAME
-description: Posix and Samba LDAP Identity Database
-
-dn: cn=Manager,dc=INETDOMAIN,dc=TLDORG
-objectClass: organizationalRole
-cn: Manager
-description: Directory Manager
-
-dn: ou=People,dc=INETDOMAIN,dc=TLDORG
-objectClass: top
-objectClass: organizationalUnit
-ou: People
-
-dn: ou=Computers,dc=INETDOMAIN,dc=TLDORG
-objectClass: top
-objectClass: organizationalUnit
-ou: Computers
-
-dn: ou=Groups,dc=INETDOMAIN,dc=TLDORG
-objectClass: top
-objectClass: organizationalUnit
-ou: Groups
-
-dn: ou=Idmap,dc=INETDOMAIN,dc=TLDORG
-objectClass: top
-objectClass: organizationalUnit
-ou: Idmap
-
-dn: ou=Domains,dc=INETDOMAIN,dc=TLDORG
-objectClass: top
-objectClass: organizationalUnit
-ou: Domains
-
-dn: sambaDomainName=DOMNAME,ou=Domains,dc=INETDOMAIN,dc=TLDORG
-objectClass: sambaDomain
-sambaDomainName: DOMNAME
-sambaSID: DOMSID
-sambaAlgorithmicRidBase: 1000
-structuralObjectClass: sambaDomain
-</pre></div></div><br class="example-break"><div class="example"><a name="sbehap-ldifpatb"></a><p class="title"><b>Example 15.10. LDIF Pattern File Used to Pre-configure LDAP Part B</b></p><div class="example-contents"><pre class="screen">
-dn: cn=domadmins,ou=Groups,dc=INETDOMAIN,dc=TLDORG
-objectClass: posixGroup
-objectClass: sambaGroupMapping
-gidNumber: 512
-cn: domadmins
-sambaSID: DOMSID-512
-sambaGroupType: 2
-displayName: Domain Admins
-description: Domain Administrators
-
-dn: cn=domguests,ou=Groups,dc=INETDOMAIN,dc=TLDORG
-objectClass: posixGroup
-objectClass: sambaGroupMapping
-gidNumber: 514
-cn: domguests
-sambaSID: DOMSID-514
-sambaGroupType: 2
-displayName: Domain Guests
-description: Domain Guests Users
-
-dn: cn=domusers,ou=Groups,dc=INETDOMAIN,dc=TLDORG
-objectClass: posixGroup
-objectClass: sambaGroupMapping
-gidNumber: 513
-cn: domusers
-sambaSID: DOMSID-513
-sambaGroupType: 2
-displayName: Domain Users
-description: Domain Users
-</pre></div></div><br class="example-break"></div><div class="sect1" title="The LDAP Account Manager"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id388919"></a>The LDAP Account Manager</h2></div></div></div><p>
-<a class="indexterm" name="id388927"></a>
-<a class="indexterm" name="id388934"></a>
-<a class="indexterm" name="id388943"></a>
-<a class="indexterm" name="id388949"></a>
-<a class="indexterm" name="id388956"></a>
-<a class="indexterm" name="id388963"></a>
-<a class="indexterm" name="id388970"></a>
-The LDAP Account Manager (LAM) is an application suite that has been written in PHP.
-LAM can be used with any Web server that has PHP4 support. It connects to the LDAP
-server either using unencrypted connections or via SSL/TLS. LAM can be used to manage
-Posix accounts as well as SambaSAMAccounts for users, groups, and Windows machines
-(hosts).
-</p><p>
-LAM is available from the <a class="ulink" href="http://sourceforge.net/projects/lam/" target="_top">LAM</a>
-home page and from its mirror sites. LAM has been released under the GNU GPL version 2.
-The current version of LAM is 0.4.9. Release of version 0.5 is expected in the third quarter
-of 2005.
-</p><p>
-<a class="indexterm" name="id388996"></a>
-<a class="indexterm" name="id389003"></a>
-<a class="indexterm" name="id389010"></a>
-Requirements:
-</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>A web server that will work with PHP4.</p></li><li class="listitem"><p>PHP4 (available from the <a class="ulink" href="http://www.php.net/" target="_top">PHP</a> home page.)</p></li><li class="listitem"><p>OpenLDAP 2.0 or later.</p></li><li class="listitem"><p>A Web browser that supports CSS.</p></li><li class="listitem"><p>Perl.</p></li><li class="listitem"><p>The gettext package.</p></li><li class="listitem"><p>mcrypt + mhash (optional).</p></li><li class="listitem"><p>It is also a good idea to install SSL support.</p></li></ul></div><p>
-LAM is a useful tool that provides a simple Web-based device that can be used to
-manage the contents of the LDAP directory to:
-<a class="indexterm" name="id389067"></a>
-<a class="indexterm" name="id389074"></a>
-<a class="indexterm" name="id389081"></a>
-</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Display user/group/host and Domain entries.</p></li><li class="listitem"><p>Manage entries (Add/Delete/Edit).</p></li><li class="listitem"><p>Filter and sort entries.</p></li><li class="listitem"><p>Store and use multiple operating profiles.</p></li><li class="listitem"><p>Edit organizational units (OUs).</p></li><li class="listitem"><p>Upload accounts from a file.</p></li><li class="listitem"><p>Is compatible with Samba-2.2.x and Samba-3.</p></li></ul></div><p>
-When correctly configured, LAM allows convenient management of UNIX (Posix) and Samba
-user, group, and windows domain member machine accounts.
-</p><p>
-<a class="indexterm" name="id389132"></a>
-<a class="indexterm" name="id389139"></a>
-<a class="indexterm" name="id389145"></a>
-<a class="indexterm" name="id389152"></a>
-The default password is <span class="quote">&#8220;<span class="quote">lam.</span>&#8221;</span> It is highly recommended that you use only
-an SSL connection to your Web server for all remote operations involving LAM. If you
-want secure connections, you must configure your Apache Web server to permit connections
-to LAM using only SSL.
-</p><div class="procedure" title="Procedure 15.3. Apache Configuration Steps for LAM"><a name="sbehap-laminst"></a><p class="title"><b>Procedure 15.3. Apache Configuration Steps for LAM</b></p><ol class="procedure" type="1"><li class="step" title="Step 1"><p>
- Extract the LAM package by untarring it as shown here:
-</p><pre class="screen">
-<code class="prompt">root# </code> tar xzf ldap-account-manager_0.4.9.tar.gz
-</pre><p>
- Alternatively, install the LAM DEB for your system using the following command:
-</p><pre class="screen">
-<code class="prompt">root# </code> dpkg -i ldap-account-manager_0.4.9.all.deb
-</pre><p>
- </p></li><li class="step" title="Step 2"><p>
- Copy the extracted files to the document root directory of your Web server.
- For example, on SUSE Linux Enterprise Server 9, copy to the
- <code class="filename">/srv/www/htdocs</code> directory.
- </p></li><li class="step" title="Step 3"><p>
- <a class="indexterm" name="id389226"></a>
- Set file permissions using the following commands:
-</p><pre class="screen">
-<code class="prompt">root# </code> chown -R wwwrun:www /srv/www/htdocs/lam
-<code class="prompt">root# </code> chmod 755 /srv/www/htdocs/lam/sess
-<code class="prompt">root# </code> chmod 755 /srv/www/htdocs/lam/tmp
-<code class="prompt">root# </code> chmod 755 /srv/www/htdocs/lam/config
-<code class="prompt">root# </code> chmod 755 /srv/www/htdocs/lam/lib/*pl
-</pre><p>
- </p></li><li class="step" title="Step 4"><p>
- <a class="indexterm" name="id389276"></a>
- Using your favorite editor create the following <code class="filename">config.cfg</code>
- LAM configuration file:
-</p><pre class="screen">
-<code class="prompt">root# </code> cd /srv/www/htdocs/lam/config
-<code class="prompt">root# </code> cp config.cfg_sample config.cfg
-<code class="prompt">root# </code> vi config.cfg
-</pre><p>
- <a class="indexterm" name="id389315"></a>
- <a class="indexterm" name="id389324"></a>
- An example file is shown in <a class="link" href="appendix.html#lamcfg" title="Example 15.11. Example LAM Configuration File config.cfg">&#8220;Example LAM Configuration File config.cfg&#8221;</a>.
- This is the minimum configuration that must be completed. The LAM profile
- file can be created using a convenient wizard that is part of the LAM
- configuration suite.
- </p></li><li class="step" title="Step 5"><p>
- Start your Web server then, using your Web browser, connect to
- <a class="ulink" href="http://localhost/lam" target="_top">LAM</a> URL. Click on the
- the <em class="parameter"><code>Configuration Login</code></em> link then click on the
- Configuration Wizard link to begin creation of the default profile so that
- LAM can connect to your LDAP server. Alternately, copy the
- <code class="filename">lam.conf_sample</code> file to a file called
- <code class="filename">lam.conf</code> then, using your favorite editor,
- change the settings to match local site needs.
- </p></li></ol></div><p>
- <a class="indexterm" name="id389379"></a>
- An example of a working file is shown here in <a class="link" href="appendix.html#lamconf" title="Example 15.12. LAM Profile Control File lam.conf">&#8220;LAM Profile Control File lam.conf&#8221;</a>.
- This file has been stripped of comments to keep the size small. The comments
- and help information provided in the profile file that the wizard creates
- is very useful and will help many administrators to avoid pitfalls.
- Your configuration file obviously reflects the configuration options that
- are preferred at your site.
- </p><p>
- <a class="indexterm" name="id389399"></a>
- It is important that your LDAP server is running at the time that LAM is
- being configured. This permits you to validate correct operation.
- An example of the LAM login screen is provided in <a class="link" href="appendix.html#lam-login" title="Figure 15.6. The LDAP Account Manager Login Screen">&#8220;The LDAP Account Manager Login Screen&#8221;</a>.
- </p><div class="figure"><a name="lam-login"></a><p class="title"><b>Figure 15.6. The LDAP Account Manager Login Screen</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/lam-login.png" width="270" alt="The LDAP Account Manager Login Screen"></div></div></div><br class="figure-break"><p>
- <a class="indexterm" name="id389458"></a>
- The LAM configuration editor has a number of options that must be managed correctly.
- An example of use of the LAM configuration editor is shown in <a class="link" href="appendix.html#lam-config" title="Figure 15.7. The LDAP Account Manager Configuration Screen">&#8220;The LDAP Account Manager Configuration Screen&#8221;</a>.
- It is important that you correctly set the minimum and maximum UID/GID values that are
- permitted for use at your site. The default values may not be compatible with a need to
- modify initial default account values for well-known Windows network users and groups.
- The best work-around is to temporarily set the minimum values to zero (0) to permit
- the initial settings to be made. Do not forget to reset these to sensible values before
- using LAM to add additional users and groups.
- </p><div class="figure"><a name="lam-config"></a><p class="title"><b>Figure 15.7. The LDAP Account Manager Configuration Screen</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/lam-config.png" width="270" alt="The LDAP Account Manager Configuration Screen"></div></div></div><br class="figure-break"><p>
- <a class="indexterm" name="id389523"></a>
- LAM has some nice, but unusual features. For example, one unexpected feature in most application
- screens permits the generation of a PDF file that lists configuration information. This is a well
- thought out facility. This option has been edited out of the following screen shots to conserve
- space.
- </p><p>
- <a class="indexterm" name="id389536"></a>
- When you log onto LAM the opening screen drops you right into the user manager as shown in
- <a class="link" href="appendix.html#lam-user" title="Figure 15.8. The LDAP Account Manager User Edit Screen">&#8220;The LDAP Account Manager User Edit Screen&#8221;</a>. This is a logical action as it permits the most-needed facility
- to be used immediately. The editing of an existing user, as with the addition of a new user,
- is easy to follow and very clear in both layout and intent. It is a simple matter to edit
- generic settings, UNIX specific parameters, and then Samba account requirements. Each step
- involves clicking a button that intuitively drives you through the process. When you have
- finished editing simply press the <span class="guimenu">Final</span> button.
- </p><div class="figure"><a name="lam-user"></a><p class="title"><b>Figure 15.8. The LDAP Account Manager User Edit Screen</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/lam-users.png" width="270" alt="The LDAP Account Manager User Edit Screen"></div></div></div><br class="figure-break"><p>
- The edit screen for groups is shown in <a class="link" href="appendix.html#lam-group" title="Figure 15.9. The LDAP Account Manager Group Edit Screen">&#8220;The LDAP Account Manager Group Edit Screen&#8221;</a>. As with the edit screen
- for user accounts, group accounts may be rapidly dealt with. <a class="link" href="appendix.html#lam-group-mem" title="Figure 15.10. The LDAP Account Manager Group Membership Edit Screen">&#8220;The LDAP Account Manager Group Membership Edit Screen&#8221;</a>
- shows a sub-screen from the group editor that permits users to be assigned secondary group
- memberships.
- </p><div class="figure"><a name="lam-group"></a><p class="title"><b>Figure 15.9. The LDAP Account Manager Group Edit Screen</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/lam-groups.png" width="270" alt="The LDAP Account Manager Group Edit Screen"></div></div></div><br class="figure-break"><div class="figure"><a name="lam-group-mem"></a><p class="title"><b>Figure 15.10. The LDAP Account Manager Group Membership Edit Screen</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/lam-group-members.png" width="270" alt="The LDAP Account Manager Group Membership Edit Screen"></div></div></div><br class="figure-break"><p>
- <a class="indexterm" name="id389704"></a><a class="indexterm" name="id389710"></a>
- The final screen presented here is one that you should not normally need to use. Host accounts will
- be automatically managed using the smbldap-tools scripts. This means that the screen <a class="link" href="appendix.html#lam-host" title="Figure 15.11. The LDAP Account Manager Host Edit Screen">&#8220;The LDAP Account Manager Host Edit Screen&#8221;</a>
- will, in most cases, not be used.
- </p><div class="figure"><a name="lam-host"></a><p class="title"><b>Figure 15.11. The LDAP Account Manager Host Edit Screen</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/lam-hosts.png" width="270" alt="The LDAP Account Manager Host Edit Screen"></div></div></div><br class="figure-break"><p>
- One aspect of LAM that may annoy some users is the way it forces certain conventions on
- the administrator. For example, LAM does not permit the creation of Windows user and group
- accounts that contain spaces even though the underlying UNIX/Linux
- operating system may exhibit no problems with them. Given the propensity for using upper-case
- characters and spaces (particularly in the default Windows account names) this may cause
- some annoyance. For the rest, LAM is a very useful administrative tool.
- </p><p>
- The next major release, LAM 0.5, will have fewer restrictions and support the latest Samba features
- (e.g., logon hours). The new plugin-based architecture also allows management of much more different
- account types like plain UNIX accounts. The upload can now handle groups and hosts, too. Another
- important point is the tree view which allows browsing and editing LDAP objects directly.
- </p><div class="example"><a name="lamcfg"></a><p class="title"><b>Example 15.11. Example LAM Configuration File <code class="filename">config.cfg</code></b></p><div class="example-contents"><pre class="screen">
-# password to add/delete/rename configuration profiles
-password: not24get
-
-# default profile, without ".conf"
-default: lam
-</pre></div></div><br class="example-break"><div class="example"><a name="lamconf"></a><p class="title"><b>Example 15.12. LAM Profile Control File <code class="filename">lam.conf</code></b></p><div class="example-contents"><pre class="screen">
-ServerURL: ldap://massive.abmas.org:389
-Admins: cn=Manager,dc=abmas,dc=biz
-Passwd: not24get
-usersuffix: ou=People,dc=abmas,dc=biz
-groupsuffix: ou=Groups,dc=abmas,dc=biz
-hostsuffix: ou=Computers,dc=abmas,dc=biz
-domainsuffix: ou=Domains,dc=abmas,dc=biz
-MinUID: 0
-MaxUID: 65535
-MinGID: 0
-MaxGID: 65535
-MinMachine: 20000
-MaxMachine: 25000
-userlistAttributes: #uid;#givenName;#sn;#uidNumber;#gidNumber
-grouplistAttributes: #cn;#gidNumber;#memberUID;#description
-hostlistAttributes: #cn;#description;#uidNumber;#gidNumber
-maxlistentries: 30
-defaultLanguage: en_GB:ISO-8859-1:English (Great Britain)
-scriptPath:
-scriptServer:
-samba3: yes
-cachetimeout: 5
-pwdhash: SSHA
-</pre></div></div><br class="example-break"></div><div class="sect1" title="IDEALX Management Console"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id389839"></a>IDEALX Management Console</h2></div></div></div><p>
- IMC (the IDEALX Mamagement Console) is a tool that can be used as the basis for a comprehensive
- web-based management interface for UNIX and Linux systems.
- </p><p>
- The Samba toolset is the first console developped for IMC. It offers a simple and ergonomic
- interface for managing a Samba domain controler. The goal is to give Linux administrators who
- need to manage production Samba servers an effective, intuitive and consistent management
- experience. An IMC screenshot of the user management tool is shown in <a class="link" href="appendix.html#imcidealx" title="Figure 15.12. The IMC Samba User Account Screen">&#8220;The IMC Samba User Account Screen&#8221;</a>.
- </p><div class="figure"><a name="imcidealx"></a><p class="title"><b>Figure 15.12. The IMC Samba User Account Screen</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/imc-usermanager2.png" width="216" alt="The IMC Samba User Account Screen"></div></div></div><br class="figure-break"><p>
- IMC is built on a set of Perl modules. Most modules are standard CPAN modules. Some are bundled with IMC,
- but will soon to be hosted on the CPAN independently, like Struts4P, a port of Struts to the Perl language.
- </p><p>
- For further information regarding IMC refer to the web <a class="ulink" href="http://imc.sourceforge.net/" target="_top">site.</a>
- Prebuilt RPM packages are also <a class="ulink" href="http://imc.sourceforge.net/download.html" target="_top">available.</a>
- </p></div><div class="sect1" title="Effect of Setting File and Directory SUID/SGID Permissions Explained"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="ch12-SUIDSGID"></a>Effect of Setting File and Directory SUID/SGID Permissions Explained</h2></div></div></div><a class="indexterm" name="id389935"></a><a class="indexterm" name="id389942"></a><p>
- The setting of the SUID/SGID bits on the file or directory permissions flag has particular
- consequences. If the file is executable and the SUID bit is set, it executes with the privilege
- of (with the UID of) the owner of the file. For example, if you are logged onto a system as
- a normal user (let's say as the user <code class="constant">bobj</code>), and you execute a file that is owned
- by the user <code class="constant">root</code> (uid = 0), and the file has the SUID bit set, then the file is
- executed as if you had logged in as the user <code class="constant">root</code> and then executed the file.
- The SUID bit effectively gives you (as <code class="constant">bobj</code>) administrative privilege for the
- use of that executable file.
- </p><p>
- The setting of the SGID bit does precisely the same as the effect of the SUID bit, except that it
- applies the privilege to the UNIX group setting. In other words, the file executes with the force
- of capability of the group.
- </p><p>
- When the SUID/SGID permissions are set on a directory, all files that are created within that directory
- are automatically given the ownership of the SUID user and the SGID group, as per the ownership
- of the directory in which the file is created. This means that the system level <code class="literal">create()</code>
- function executes with the SUID user and/or SGID group of the directory in which the file is
- created.
- </p><p>
- If you want to obtain the SUID behavior, simply execute the following command:
-</p><pre class="screen">
-<code class="prompt">root# </code> chmod u+s file-or-directory
-</pre><p>
- To set the SGID properties on a file or a directory, execute this command:
-</p><pre class="screen">
-<code class="prompt">root# </code> chmod g+s file-or-directory
-</pre><p>
- And to set both SUID and SGID properties, execute the following:
-</p><pre class="screen">
-<code class="prompt">root# </code> chmod ug+s file-or-directory
-</pre><p>
- </p><p>
- Let's consider the example of a directory <code class="filename">/data/accounts</code>. The permissions on this
- directory before setting both SUID and SGID on this directory are:
-</p><pre class="screen">
-<code class="prompt">root# </code> ls -al /data/accounts
-total 1
-drwxr-xr-x 10 root root 232 Dec 18 17:08 .
-drwxr-xr-x 21 root root 600 Dec 17 23:15 ..
-drwxrwxrwx 2 bobj Domain Users 48 Dec 18 17:08 accounts/
-drwx------ 2 root root 48 Jan 26 2002 lost+found
-</pre><p>
- In this example, if the user <code class="constant">maryv</code> creates a file, it is owned by her.
- If <code class="constant">maryv</code> has the primary group of <code class="constant">Accounts</code>, the file is
- owned by the group <code class="constant">Accounts</code>, as shown in this listing:
-</p><pre class="screen">
-<code class="prompt">root# </code> ls -al /data/accounts/maryvfile.txt
-drw-rw-r-- 2 maryv Accounts 12346 Dec 18 17:53
-</pre><p>
- </p><p>
- Now you set the SUID and SGID and check the result as follows:
-</p><pre class="screen">
-<code class="prompt">root# </code> chmod ug+s /data/accounts
-<code class="prompt">root# </code> ls -al /data/accounts
-total 1
-drwxr-xr-x 10 root root 232 Dec 18 17:08 .
-drwxr-xr-x 21 root root 600 Dec 17 23:15 ..
-drwsrwsr-x 2 bobj Domain Users 48 Dec 18 17:08 accounts
-drwx------ 2 root root 48 Jan 26 2002 lost+found
-</pre><p>
- If <code class="constant">maryv</code> creates a file in this directory after this change has been made, the
- file is owned by the user <code class="constant">bobj</code>, and the group is set to the group
- <code class="constant">Domain Users</code>, as shown here:
-</p><pre class="screen">
-<code class="prompt">root# </code> chmod ug+s /data/accounts
-<code class="prompt">root# </code> ls -al /data/accounts/maryvfile.txt
-total 1
-drw-rw-r-- 2 bobj Domain Users 12346 Dec 18 18:11 maryvfile.txt
-</pre><p>
- </p></div><div class="sect1" title="Shared Data Integrity"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="ch12dblck"></a>Shared Data Integrity</h2></div></div></div><p><a class="indexterm" name="id390147"></a><a class="indexterm" name="id390155"></a>
- The integrity of shared data is often viewed as a particularly emotional issue, especially where
- there are concurrent problems with multiuser data access. Contrary to the assertions of some who have
- experienced problems in either area, the cause has nothing to do with the phases of the moons of Jupiter.
- </p><p>
- The solution to concurrent multiuser data access problems must consider three separate areas
- from which the problem may stem:<a class="indexterm" name="id390175"></a><a class="indexterm" name="id390186"></a><a class="indexterm" name="id390197"></a>
- </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>application-level locking controls</p></li><li class="listitem"><p>client-side locking controls</p></li><li class="listitem"><p>server-side locking controls</p></li></ul></div><p><a class="indexterm" name="id390229"></a><a class="indexterm" name="id390237"></a>
- Many database applications use some form of application-level access control. An example of one
- well-known application that uses application-level locking is Microsoft Access. Detailed guidance
- is provided here because this is the most common application for which problems have been reported.
- </p><p><a class="indexterm" name="id390251"></a><a class="indexterm" name="id390259"></a>
- Common applications that are affected by client- and server-side locking controls include MS
- Excel and Act!. Important locking guidance is provided here.
- </p><div class="sect2" title="Microsoft Access"><div class="titlepage"><div><div><h3 class="title"><a name="id390270"></a>Microsoft Access</h3></div></div></div><p>
- The best advice that can be given is to carefully read the Microsoft knowledgebase articles that
- cover this area. Examples of relevant documents include:
- </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>http://support.microsoft.com/default.aspx?scid=kb;en-us;208778</p></li><li class="listitem"><p>http://support.microsoft.com/default.aspx?scid=kb;en-us;299373</p></li></ul></div><p><a class="indexterm" name="id390294"></a><a class="indexterm" name="id390306"></a>
- Make sure that your MS Access database file is configured for multiuser access (not set for
- exclusive open). Open MS Access on each client workstation, then set the following: <span class="guimenu">(Menu bar) Tools</span>+<span class="guimenu">Options</span>+<span class="guimenu">[tab] General</span>. Set network path to Default database folder: <code class="filename">\\server\share\folder</code>.
- </p><p>
- You can configure MS Access file sharing behavior as follows: click <span class="guimenu">[tab] Advanced</span>.
- Set:<a class="indexterm" name="id390353"></a>
- </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Default open mode: Shared</p></li><li class="listitem"><p>Default Record Locking: Edited Record</p></li><li class="listitem"><p>Open databases using record_level locking</p></li></ul></div><p><a class="indexterm" name="id390382"></a>
- You must now commit the changes so that they will take effect. To do so, click
- <span class="guimenu">Apply</span><span class="guimenu">Ok</span>. At this point, you should exit MS Access, restart
- it, and then validate that these settings have not changed.
- </p></div><div class="sect2" title="Act! Database Sharing"><div class="titlepage"><div><div><h3 class="title"><a name="id390409"></a>Act! Database Sharing</h3></div></div></div><p><a class="indexterm" name="id390415"></a><a class="indexterm" name="id390423"></a>
- Where the server sharing the ACT! database(s) is running Samba,or Windows NT, 200x, or XP, you
- must disable opportunistic locking on the server and all workstations. Failure to do so
- results in data corruption. This information is available from the Act! Web site
- knowledgebase articles
- <a class="ulink" href="http://itdomino.saleslogix.com/act.nsf/docid/1998223162925" target="_top">1998223162925</a>
- as well as from article
- <a class="ulink" href="http://itdomino.saleslogix.com/act.nsf/docid/200110485036" target="_top">200110485036</a>.
- </p><p><a class="indexterm" name="id390449"></a><a class="indexterm" name="id390457"></a>
- These documents clearly state that opportunistic locking must be disabled on both
- the server (Samba in the case we are interested in here), as well as on every workstation
- from which the centrally shared Act! database will be accessed. Act! provides
- a tool called <code class="literal">Act!Diag</code> that may be used to disable all workstation
- registry settings that may otherwise interfere with the operation of Act!
- Registered Act! users may download this utility from the Act! Web
- <a class="ulink" href="http://www.act.com/support/updates/index.cfm" target="_top">site.</a>
- </p></div><div class="sect2" title="Opportunistic Locking Controls"><div class="titlepage"><div><div><h3 class="title"><a name="id390484"></a>Opportunistic Locking Controls</h3></div></div></div><p><a class="indexterm" name="id390491"></a>
- Third-party Windows applications may not be compatible with the use of opportunistic file
- and record locking. For applications that are known not to be compatible,<sup>[<a name="id390501" href="#ftn.id390501" class="footnote">14</a>]</sup> oplock
- support may need to be disabled both on the Samba server and on the Windows workstations.
- </p><p><a class="indexterm" name="id390512"></a><a class="indexterm" name="id390520"></a><a class="indexterm" name="id390528"></a>
- Oplocks enable a Windows client to cache parts of a file that are being
- edited. Another windows client may then request to open the file with the
- ability to write to it. The server will then ask the original workstation
- that had the file open with a write lock to release its lock. Before
- doing so, that workstation must flush the file from cache memory to the
- disk or network drive.
- </p><p><a class="indexterm" name="id390546"></a>
- Disabling of Oplocks usage may require server and client changes.
- Oplocks may be disabled by file, by file pattern, on the share, or on the
- Samba server.
- </p><p>
- The following are examples showing how Oplock support may be managed using
- Samba <code class="filename">smb.conf</code> file settings:
-</p><pre class="screen">
-By file: veto oplock files = myfile.mdb
-
-By Pattern: veto oplock files = /*.mdb/
-
-On the Share: oplocks = No
- level2 oplocks = No
-
-On the server:
-(in [global]) oplocks = No
- level2 oplocks = No
-</pre><p>
- </p><p>
- The following registry entries on Microsoft Windows XP Professional, 2000 Professional, and Windows NT4
- workstation clients must be configured as shown here:
-</p><pre class="screen">
-REGEDIT4
-
-[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
- Services\LanmanServer\Parameters]
- "EnableOplocks"=dword:00000000
-
-[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
- Services\LanmanWorkstation\Parameters]
- "UseOpportunisticLocking"=dword:00000000
-</pre><p>
- </p><p>
- Comprehensive coverage of file and record-locking controls is provided in TOSHARG2, Chapter 13.
- The information in that chapter was obtained from a wide variety of sources.
- </p></div></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id390501" href="#id390501" class="para">14</a>] </sup>Refer to
- the application manufacturer's installation guidelines and knowledge base for specific
- information regarding compatibility. It is often safe to assume that if the software
- manufacturer does not specifically mention incompatibilities with opportunistic file
- and record locking, or with Windows client file caching, the application is probably
- compatible with Windows (as well as Samba) default settings.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch14.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="RefSection.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="primer.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 14. Samba Support </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 16. Networking Primer</td></tr></table></div></body></html>