mirror of
https://github.com/samba-team/samba.git
synced 2025-01-06 13:18:07 +03:00
37a6f03f35
(This used to be commit 8dfbaafb84
)
120 lines
4.1 KiB
XML
120 lines
4.1 KiB
XML
<chapter id="msdfs">
|
|
|
|
<chapterinfo>
|
|
<author>
|
|
<firstname>Shirish</firstname><surname>Kalele</surname>
|
|
<affiliation>
|
|
<orgname>Samba Team & Veritas Software</orgname>
|
|
<address>
|
|
<email>samba@samba.org</email>
|
|
</address>
|
|
</affiliation>
|
|
</author>
|
|
|
|
<pubdate>12 Jul 2000</pubdate>
|
|
</chapterinfo>
|
|
|
|
<title>Hosting a Microsoft Distributed File System tree on Samba</title>
|
|
|
|
<sect1>
|
|
<title>Features and Benefits</title>
|
|
|
|
<para>
|
|
The Distributed File System (or 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 etc.
|
|
</para>
|
|
|
|
<para>
|
|
For information about DFS, refer to
|
|
<ulink url="http://www.microsoft.com/NTServer/nts/downloads/winfeatures/NTSDistrFile/AdminGuide.asp">
|
|
Microsoft documentation at http://www.microsoft.com/NTServer/nts/downloads/winfeatures/NTSDistrFile/AdminGuide.asp</ulink>.
|
|
</para>
|
|
|
|
<para>
|
|
This document explains how to host a DFS tree on a Unix machine (for DFS-aware
|
|
clients to browse) using Samba.
|
|
</para>
|
|
|
|
<para>
|
|
To enable SMB-based DFS for Samba, configure it with the <parameter>--with-msdfs</parameter>
|
|
option. Once built, a Samba server can be made a DFS server by setting the global
|
|
boolean <ulink url="smb.conf.5.html#HOSTMSDFS"><parameter> host msdfs</parameter></ulink>
|
|
parameter in the <filename>smb.conf </filename> file. You designate a share as a DFS
|
|
root using the share level boolean <ulink url="smb.conf.5.html#MSDFSROOT"><parameter>
|
|
msdfs root</parameter></ulink> 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
|
|
<filename>junction->msdfs:storage1\share1</filename> 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, \\storage1\share1).
|
|
</para>
|
|
|
|
<para>
|
|
DFS trees on Samba work with all DFS-aware clients ranging from Windows 95 to 200x.
|
|
</para>
|
|
|
|
<para>
|
|
Here's an example of setting up a DFS tree on a Samba server.
|
|
</para>
|
|
|
|
<para><programlisting>
|
|
# The smb.conf file:
|
|
[global]
|
|
netbios name = SMOKEY
|
|
host msdfs = yes
|
|
|
|
[dfs]
|
|
path = /export/dfsroot
|
|
msdfs root = yes
|
|
</programlisting></para>
|
|
|
|
|
|
<para>In the /export/dfsroot directory we set up our dfs links to
|
|
other servers on the network.</para>
|
|
|
|
<screen>
|
|
&rootprompt;<userinput>cd /export/dfsroot</userinput>
|
|
&rootprompt;<userinput>chown root /export/dfsroot</userinput>
|
|
&rootprompt;<userinput>chmod 755 /export/dfsroot</userinput>
|
|
&rootprompt;<userinput>ln -s msdfs:storageA\\shareA linka</userinput>
|
|
&rootprompt;<userinput>ln -s msdfs:serverB\\share,serverC\\share linkb</userinput>
|
|
</screen>
|
|
|
|
<para>You should set up the permissions and ownership of
|
|
the directory acting as the DFS root such 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.</para>
|
|
|
|
<para>Users on DFS-aware clients can now browse the DFS tree
|
|
on the Samba server at \\samba\dfs. Accessing
|
|
links linka or linkb (which appear as directories to the client)
|
|
takes users directly to the appropriate shares on the network.</para>
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<title>Common Errors</title>
|
|
<itemizedlist>
|
|
<listitem><para>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.</para>
|
|
</listitem>
|
|
|
|
<listitem><para>Currently there's a restriction that msdfs
|
|
symlink names should all be lowercase.</para>
|
|
</listitem>
|
|
|
|
<listitem><para>For security purposes, the directory
|
|
acting as the root of the DFS tree should have ownership
|
|
and permissions set so that only designated users can
|
|
modify the symbolic links in the directory.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
</chapter>
|