<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML ><HEAD ><TITLE >Hosting a Microsoft Distributed File System tree on Samba</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ "><LINK REL="HOME" TITLE="SAMBA Project Documentation" HREF="samba-howto-collection.html"><LINK REL="UP" TITLE="Optional configuration" HREF="optional.html"><LINK REL="PREVIOUS" TITLE="Configuring PAM for distributed but centrally managed authentication" HREF="pam.html"><LINK REL="NEXT" TITLE="Printing Support" HREF="printing.html"></HEAD ><BODY CLASS="CHAPTER" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >SAMBA Project Documentation</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="pam.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="printing.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="CHAPTER" ><H1 ><A NAME="MSDFS">Chapter 13. Hosting a Microsoft Distributed File System tree on Samba</H1 ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="AEN1859">13.1. Instructions</H1 ><P >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. For more information about Dfs, refer to <A HREF="http://www.microsoft.com/NTServer/nts/downloads/winfeatures/NTSDistrFile/AdminGuide.asp" TARGET="_top" > Microsoft documentation</A >. </P ><P >This document explains how to host a Dfs tree on a Unix machine (for Dfs-aware clients to browse) using Samba.</P ><P >To enable SMB-based DFS for Samba, configure it with the <TT CLASS="PARAMETER" ><I >--with-msdfs</I ></TT > option. Once built, a Samba server can be made a Dfs server by setting the global boolean <A HREF="smb.conf.5.html#HOSTMSDFS" TARGET="_top" ><TT CLASS="PARAMETER" ><I > host msdfs</I ></TT ></A > parameter in the <TT CLASS="FILENAME" >smb.conf </TT > file. You designate a share as a Dfs root using the share level boolean <A HREF="smb.conf.5.html#MSDFSROOT" TARGET="_top" ><TT CLASS="PARAMETER" ><I > msdfs root</I ></TT ></A > 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 <TT CLASS="FILENAME" >junction->msdfs:storage1\share1</TT > 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).</P ><P >Dfs trees on Samba work with all Dfs-aware clients ranging from Windows 95 to 2000.</P ><P >Here's an example of setting up a Dfs tree on a Samba server.</P ><P ><PRE CLASS="PROGRAMLISTING" ># The smb.conf file: [global] netbios name = SAMBA host msdfs = yes [dfs] path = /export/dfsroot msdfs root = yes </PRE ></P ><P >In the /export/dfsroot directory we set up our dfs links to other servers on the network.</P ><P ><TT CLASS="PROMPT" >root# </TT ><TT CLASS="USERINPUT" ><B >cd /export/dfsroot</B ></TT ></P ><P ><TT CLASS="PROMPT" >root# </TT ><TT CLASS="USERINPUT" ><B >chown root /export/dfsroot</B ></TT ></P ><P ><TT CLASS="PROMPT" >root# </TT ><TT CLASS="USERINPUT" ><B >chmod 755 /export/dfsroot</B ></TT ></P ><P ><TT CLASS="PROMPT" >root# </TT ><TT CLASS="USERINPUT" ><B >ln -s msdfs:storageA\\shareA linka</B ></TT ></P ><P ><TT CLASS="PROMPT" >root# </TT ><TT CLASS="USERINPUT" ><B >ln -s msdfs:serverB\\share,serverC\\share linkb</B ></TT ></P ><P >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.</P ><P >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.</P ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN1894">13.1.1. Notes</H2 ><P ></P ><UL ><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 that only designated users can modify the symbolic links in the directory.</P ></LI ></UL ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="pam.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="samba-howto-collection.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="printing.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Configuring PAM for distributed but centrally managed authentication</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="optional.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Printing Support</TD ></TR ></TABLE ></DIV ></BODY ></HTML >