summaryrefslogtreecommitdiff
path: root/docs/htmldocs/Samba3-HOWTO/msdfs.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/htmldocs/Samba3-HOWTO/msdfs.html')
-rw-r--r--docs/htmldocs/Samba3-HOWTO/msdfs.html94
1 files changed, 94 insertions, 0 deletions
diff --git a/docs/htmldocs/Samba3-HOWTO/msdfs.html b/docs/htmldocs/Samba3-HOWTO/msdfs.html
new file mode 100644
index 0000000000..b5e062281e
--- /dev/null
+++ b/docs/htmldocs/Samba3-HOWTO/msdfs.html
@@ -0,0 +1,94 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 20. 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.71.0"><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 19. Interdomain Trust Relationships"><link rel="next" href="classicalprinting.html" title="Chapter 21. 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 20. 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 20. 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#id382680">Features and Benefits</a></span></dt><dt><span class="sect1"><a href="msdfs.html#id383064">Common Errors</a></span></dt><dd><dl><dt><span class="sect2"><a href="msdfs.html#id383094">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="id382680"></a>Features and Benefits</h2></div></div></div><p>
+<a class="indexterm" name="id382687"></a>
+<a class="indexterm" name="id382697"></a>
+<a class="indexterm" name="id382703"></a>
+<a class="indexterm" name="id382710"></a>
+<a class="indexterm" name="id382717"></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="id382730"></a>
+<a class="indexterm" name="id382736"></a>
+<a class="indexterm" name="id382743"></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="id382761"></a>
+<a class="indexterm" name="id382768"></a>
+<a class="indexterm" name="id382774"></a>
+<a class="indexterm" name="id382781"></a>
+ A Samba server can be made a DFS server by setting the global Boolean <a class="indexterm" name="id382789"></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="id382803"></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="id382828"></a>
+<a class="indexterm" name="id382835"></a>
+<a class="indexterm" name="id382842"></a>
+<a class="indexterm" name="id382848"></a>
+ DFS trees on Samba work with all DFS-aware clients ranging from Windows 95 to 200x.
+ <a href="msdfs.html#dfscfg" title="Example 20.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 20.1. smb.conf with DFS Configured</b></p><div class="example-contents"><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="id382954"></a><em class="parameter"><code>netbios name = GANDALF</code></em></td></tr><tr><td><a class="indexterm" name="id382966"></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="id382988"></a><em class="parameter"><code>path = /export/dfsroot</code></em></td></tr><tr><td><a class="indexterm" name="id383000"></a><em class="parameter"><code>msdfs root = yes</code></em></td></tr></table></div></div><br class="example-break"><p>
+<a class="indexterm" name="id383016"></a>
+<a class="indexterm" name="id383023"></a>
+<a class="indexterm" name="id383030"></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="id383043"></a>
+<a class="indexterm" name="id383050"></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="id383064"></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="id383094"></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="id383131"></a><em class="parameter"><code>path = /export/home/Shares/public_share</code></em></td></tr><tr><td><a class="indexterm" name="id383143"></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 19. 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 21. Classical Printing Support</td></tr></table></div></body></html>