Initial import
[samba] / docs / htmldocs / Samba3-HOWTO / msdfs.html
diff --git a/docs/htmldocs/Samba3-HOWTO/msdfs.html b/docs/htmldocs/Samba3-HOWTO/msdfs.html
new file mode 100644 (file)
index 0000000..4b0bbb3
--- /dev/null
@@ -0,0 +1,94 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 19. Hosting a Microsoft Distributed File System Tree</title><link rel="stylesheet" href="samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"><link rel="start" href="index.html" title="The Official Samba-3 HOWTO and Reference Guide"><link rel="up" href="optional.html" title="Part III. Advanced Configuration"><link rel="prev" href="InterdomainTrusts.html" title="Chapter 18. Interdomain Trust Relationships"><link rel="next" href="classicalprinting.html" title="Chapter 20. Classical Printing Support"></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 19. Hosting a Microsoft Distributed File System Tree</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="InterdomainTrusts.html">Prev</a> </td><th width="60%" align="center">Part III. Advanced Configuration</th><td width="20%" align="right"> <a accesskey="n" href="classicalprinting.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="msdfs"></a>Chapter 19. Hosting a Microsoft Distributed File System Tree</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Shirish</span> <span class="surname">Kalele</span></h3><div class="affiliation"><span class="orgname">Samba Team &amp; Veritas Software<br></span><div class="address"><p><br>
+                               <code class="email">&lt;<a href="mailto:samba@samba.org">samba@samba.org</a>&gt;</code><br>
+                       </p></div></div></div></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="othername">H.</span> <span class="surname">Terpstra</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email">&lt;<a href="mailto:jht@samba.org">jht@samba.org</a>&gt;</code></p></div></div></div></div><div><p class="pubdate">12 Jul 2000</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="msdfs.html#id2588956">Features and Benefits</a></span></dt><dt><span class="sect1"><a href="msdfs.html#id2589362">Common Errors</a></span></dt><dd><dl><dt><span class="sect2"><a href="msdfs.html#id2589395">MSDFS UNIX Path Is Case-Critical</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2588956"></a>Features and Benefits</h2></div></div></div><p>
+<a class="indexterm" name="id2588964"></a>
+<a class="indexterm" name="id2588974"></a>
+<a class="indexterm" name="id2588981"></a>
+<a class="indexterm" name="id2588988"></a>
+<a class="indexterm" name="id2588995"></a>
+       The distributed file system (DFS) provides a means of separating the logical
+       view of files and directories that users see from the actual physical locations
+       of these resources on the network. It allows for higher availability, smoother
+       storage expansion, load balancing, and so on.
+       </p><p>
+<a class="indexterm" name="id2589010"></a>
+<a class="indexterm" name="id2589016"></a>
+<a class="indexterm" name="id2589023"></a>
+       For information about DFS, refer to the <a href="http://www.microsoft.com/NTServer/nts/downloads/winfeatures/NTSDistrFile/AdminGuide.asp" target="_top">Microsoft
+       documentation</a>.  This document explains how to host a DFS tree on a UNIX machine (for DFS-aware clients
+       to browse) using Samba.
+       </p><p>
+<a class="indexterm" name="id2589043"></a>
+<a class="indexterm" name="id2589050"></a>
+<a class="indexterm" name="id2589057"></a>
+<a class="indexterm" name="id2589064"></a>
+       A Samba server can be made a DFS server by setting the global Boolean <a class="indexterm" name="id2589072"></a>host msdfs
+       parameter in the <code class="filename">smb.conf</code> file. You designate a share as a DFS root using the share-level Boolean
+       <a class="indexterm" name="id2589086"></a>msdfs root parameter. A DFS root directory on Samba hosts DFS links in the form of
+       symbolic links that point to other servers. For example, a symbolic link
+       <code class="filename">junction-&gt;msdfs:storage1\share1</code> in the share directory acts as the DFS junction. When
+       DFS-aware clients attempt to access the junction link, they are redirected to the storage location (in this
+       case, <em class="parameter"><code>\\storage1\share1</code></em>).
+       </p><p>
+<a class="indexterm" name="id2589115"></a>
+<a class="indexterm" name="id2589122"></a>
+<a class="indexterm" name="id2589129"></a>
+<a class="indexterm" name="id2589136"></a>
+       DFS trees on Samba work with all DFS-aware clients ranging from Windows 95 to 200x.
+       <a href="msdfs.html#dfscfg" title="Example 19.1. smb.conf with DFS Configured">The following sample configuration</a> shows how to setup a DFS tree on a Samba server.
+       In the <code class="filename">/export/dfsroot</code> directory, you set up your DFS links to 
+       other servers on the network.
+</p><pre class="screen">
+<code class="prompt">root# </code><strong class="userinput"><code>cd /export/dfsroot</code></strong>
+<code class="prompt">root# </code><strong class="userinput"><code>chown root /export/dfsroot</code></strong>
+<code class="prompt">root# </code><strong class="userinput"><code>chmod 755 /export/dfsroot</code></strong>
+<code class="prompt">root# </code><strong class="userinput"><code>ln -s msdfs:storageA\\shareA linka</code></strong>
+<code class="prompt">root# </code><strong class="userinput"><code>ln -s msdfs:serverB\\share,serverC\\share linkb</code></strong>
+</pre><p>
+</p><div class="example"><a name="dfscfg"></a><p class="title"><b>Example 19.1. smb.conf with DFS Configured</b></p><table class="simplelist" border="0" summary="Simple list"><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id2589245"></a><em class="parameter"><code>netbios name = GANDALF</code></em></td></tr><tr><td><a class="indexterm" name="id2589258"></a><em class="parameter"><code>host msdfs   = yes</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[dfs]</code></em></td></tr><tr><td><a class="indexterm" name="id2589279"></a><em class="parameter"><code>path = /export/dfsroot</code></em></td></tr><tr><td><a class="indexterm" name="id2589292"></a><em class="parameter"><code>msdfs root = yes</code></em></td></tr></table></div><p>
+<a class="indexterm" name="id2589308"></a>
+<a class="indexterm" name="id2589315"></a>
+<a class="indexterm" name="id2589322"></a>
+       You should set up the permissions and ownership of the directory acting as the DFS root so that only
+       designated users can create, delete, or modify the msdfs links. Also note that symlink names should be all
+       lowercase. This limitation exists to have Samba avoid trying all the case combinations to get at the link
+       name. Finally, set up the symbolic links to point to the network shares you want and start Samba.
+       </p><p>
+<a class="indexterm" name="id2589339"></a>
+<a class="indexterm" name="id2589346"></a>
+       Users on DFS-aware clients can now browse the DFS tree on the Samba server at
+       <code class="constant">\\samba\dfs</code>. Accessing links linka or linkb (which appear as directories to the client)
+       takes users directly to the appropriate shares on the network.
+       </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2589362"></a>Common Errors</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Windows clients need to be rebooted 
+               if a previously mounted non-DFS share is made a DFS 
+               root, or vice versa. A better way is to introduce a 
+               new share and make it the DFS root.</p></li><li><p>Currently, there's a restriction that msdfs 
+               symlink names should all be lowercase.</p></li><li><p>For security purposes, the directory 
+               acting as the root of the DFS tree should have ownership 
+               and permissions set so only designated users can 
+               modify the symbolic links in the directory.</p></li></ul></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2589395"></a>MSDFS UNIX Path Is Case-Critical</h3></div></div></div><p>
+               A network administrator sent advice to the Samba mailing list
+               after long sessions trying to determine why DFS was not working.
+               His advice is worth noting.
+               </p><p>&#8220;<span class="quote">
+               I spent some time trying to figure out why my particular
+               DFS root wasn't working. I noted in the documentation that
+               the symlink should be in all lowercase. It should be
+               amended that the entire path to the symlink should all be
+               in lowercase as well.
+               </span>&#8221;</p><p>
+               &#8220;<span class="quote">For example, I had a share defined as such:</span>&#8221;
+               </p><table class="simplelist" border="0" summary="Simple list"><tr><td> </td></tr><tr><td><em class="parameter"><code>[pub]</code></em></td></tr><tr><td><a class="indexterm" name="id2589437"></a><em class="parameter"><code>path = /export/home/Shares/public_share</code></em></td></tr><tr><td><a class="indexterm" name="id2589450"></a><em class="parameter"><code>msdfs root = yes</code></em></td></tr></table><p>
+               &#8220;<span class="quote">and I could not make my Windows 9x/Me (with the dfs client installed) follow this symlink:</span>&#8221;
+               </p><pre class="screen">
+               damage1 -&gt; msdfs:damage\test-share
+               </pre><p>
+               </p><p>
+               &#8220;<span class="quote">Running a debug level of 10 reveals:</span>&#8221;
+               </p><pre class="programlisting">
+               [2003/08/20 11:40:33, 5] msdfs/msdfs.c:is_msdfs_link(176)
+                 is_msdfs_link: /export/home/shares/public_share/* does not exist.
+               </pre><p>
+               &#8220;<span class="quote">Curious. So I changed the directory name from <code class="constant">.../Shares/...</code> to
+               <code class="constant">.../shares/...</code> (along with my service definition) and it worked!</span>&#8221;
+               </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="InterdomainTrusts.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="optional.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="classicalprinting.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 18. Interdomain Trust Relationships </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 20. Classical Printing Support</td></tr></table></div></body></html>