1
<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 & Veritas Software<br></span><div class="address"><p><br>
1
<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.70.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�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 & Veritas Software<br></span><div class="address"><p><br>
2
2
<code class="email"><<a href="mailto:samba@samba.org">samba@samba.org</a>></code><br>
3
</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"><<a href="mailto:jht@samba.org">jht@samba.org</a>></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>
4
<a class="indexterm" name="id2588964"></a>
5
<a class="indexterm" name="id2588974"></a>
6
<a class="indexterm" name="id2588981"></a>
7
<a class="indexterm" name="id2588988"></a>
8
<a class="indexterm" name="id2588995"></a>
3
</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"><<a href="mailto:jht@samba.org">jht@samba.org</a>></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#id2624987">Features and Benefits</a></span></dt><dt><span class="sect1"><a href="msdfs.html#id2625393">Common Errors</a></span></dt><dd><dl><dt><span class="sect2"><a href="msdfs.html#id2625426">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="id2624987"></a>Features and Benefits</h2></div></div></div><p>
4
<a class="indexterm" name="id2624995"></a>
5
<a class="indexterm" name="id2625004"></a>
6
<a class="indexterm" name="id2625011"></a>
7
<a class="indexterm" name="id2625018"></a>
8
<a class="indexterm" name="id2625025"></a>
9
9
The distributed file system (DFS) provides a means of separating the logical
10
10
view of files and directories that users see from the actual physical locations
11
11
of these resources on the network. It allows for higher availability, smoother
12
12
storage expansion, load balancing, and so on.
14
<a class="indexterm" name="id2589010"></a>
15
<a class="indexterm" name="id2589016"></a>
16
<a class="indexterm" name="id2589023"></a>
14
<a class="indexterm" name="id2625040"></a>
15
<a class="indexterm" name="id2625047"></a>
16
<a class="indexterm" name="id2625054"></a>
17
17
For information about DFS, refer to the <a href="http://www.microsoft.com/NTServer/nts/downloads/winfeatures/NTSDistrFile/AdminGuide.asp" target="_top">Microsoft
18
18
documentation</a>. This document explains how to host a DFS tree on a UNIX machine (for DFS-aware clients
19
19
to browse) using Samba.
21
<a class="indexterm" name="id2589043"></a>
22
<a class="indexterm" name="id2589050"></a>
23
<a class="indexterm" name="id2589057"></a>
24
<a class="indexterm" name="id2589064"></a>
25
A Samba server can be made a DFS server by setting the global Boolean <a class="indexterm" name="id2589072"></a>host msdfs
21
<a class="indexterm" name="id2625074"></a>
22
<a class="indexterm" name="id2625081"></a>
23
<a class="indexterm" name="id2625088"></a>
24
<a class="indexterm" name="id2625094"></a>
25
A Samba server can be made a DFS server by setting the global Boolean <a class="indexterm" name="id2625103"></a>host msdfs
26
26
parameter in the <code class="filename">smb.conf</code> file. You designate a share as a DFS root using the share-level Boolean
27
<a class="indexterm" name="id2589086"></a>msdfs root parameter. A DFS root directory on Samba hosts DFS links in the form of
27
<a class="indexterm" name="id2625117"></a>msdfs root parameter. A DFS root directory on Samba hosts DFS links in the form of
28
28
symbolic links that point to other servers. For example, a symbolic link
29
29
<code class="filename">junction->msdfs:storage1\share1</code> in the share directory acts as the DFS junction. When
30
30
DFS-aware clients attempt to access the junction link, they are redirected to the storage location (in this
31
31
case, <em class="parameter"><code>\\storage1\share1</code></em>).
33
<a class="indexterm" name="id2589115"></a>
34
<a class="indexterm" name="id2589122"></a>
35
<a class="indexterm" name="id2589129"></a>
36
<a class="indexterm" name="id2589136"></a>
33
<a class="indexterm" name="id2625146"></a>
34
<a class="indexterm" name="id2625153"></a>
35
<a class="indexterm" name="id2625160"></a>
36
<a class="indexterm" name="id2625166"></a>
37
37
DFS trees on Samba work with all DFS-aware clients ranging from Windows 95 to 200x.
38
<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.
38
<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.
39
39
In the <code class="filename">/export/dfsroot</code> directory, you set up your DFS links to
40
40
other servers on the network.
41
41
</p><pre class="screen">
45
45
<code class="prompt">root# </code><strong class="userinput"><code>ln -s msdfs:storageA\\shareA linka</code></strong>
46
46
<code class="prompt">root# </code><strong class="userinput"><code>ln -s msdfs:serverB\\share,serverC\\share linkb</code></strong>
48
</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>
49
<a class="indexterm" name="id2589308"></a>
50
<a class="indexterm" name="id2589315"></a>
51
<a class="indexterm" name="id2589322"></a>
48
</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="id2625275"></a><em class="parameter"><code>netbios name = GANDALF</code></em></td></tr><tr><td><a class="indexterm" name="id2625288"></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="id2625310"></a><em class="parameter"><code>path = /export/dfsroot</code></em></td></tr><tr><td><a class="indexterm" name="id2625323"></a><em class="parameter"><code>msdfs root = yes</code></em></td></tr></table></div></div><br class="example-break"><p>
49
<a class="indexterm" name="id2625339"></a>
50
<a class="indexterm" name="id2625346"></a>
51
<a class="indexterm" name="id2625352"></a>
52
52
You should set up the permissions and ownership of the directory acting as the DFS root so that only
53
53
designated users can create, delete, or modify the msdfs links. Also note that symlink names should be all
54
54
lowercase. This limitation exists to have Samba avoid trying all the case combinations to get at the link
55
55
name. Finally, set up the symbolic links to point to the network shares you want and start Samba.
57
<a class="indexterm" name="id2589339"></a>
58
<a class="indexterm" name="id2589346"></a>
57
<a class="indexterm" name="id2625370"></a>
58
<a class="indexterm" name="id2625376"></a>
59
59
Users on DFS-aware clients can now browse the DFS tree on the Samba server at
60
60
<code class="constant">\\samba\dfs</code>. Accessing links linka or linkb (which appear as directories to the client)
61
61
takes users directly to the appropriate shares on the network.
62
</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
62
</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2625393"></a>Common Errors</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Windows clients need to be rebooted
63
63
if a previously mounted non-DFS share is made a DFS
64
64
root, or vice versa. A better way is to introduce a
65
65
new share and make it the DFS root.</p></li><li><p>Currently, there's a restriction that msdfs
66
66
symlink names should all be lowercase.</p></li><li><p>For security purposes, the directory
67
67
acting as the root of the DFS tree should have ownership
68
68
and permissions set so only designated users can
69
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>
69
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="id2625426"></a>MSDFS UNIX Path Is Case-Critical</h3></div></div></div><p>
70
70
A network administrator sent advice to the Samba mailing list
71
71
after long sessions trying to determine why DFS was not working.
72
72
His advice is worth noting.