mirror of
https://github.com/samba-team/samba.git
synced 2025-01-29 21:47:30 +03:00
55abd936a8
(This used to be commit c76bf8ed3275e217d1b691879153fe9137bcbe38)
210 lines
4.3 KiB
HTML
210 lines
4.3 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Hosting a Microsoft Distributed File System tree on Samba</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.57"></HEAD
|
|
><BODY
|
|
CLASS="ARTICLE"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="ARTICLE"
|
|
><DIV
|
|
CLASS="TITLEPAGE"
|
|
><H1
|
|
CLASS="TITLE"
|
|
><A
|
|
NAME="MSDFS"
|
|
>Hosting a Microsoft Distributed File System tree on Samba</A
|
|
></H1
|
|
><HR></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="AEN3"
|
|
>Instructions</A
|
|
></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"
|
|
><HR><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="AEN38"
|
|
>Notes</A
|
|
></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
|
|
></BODY
|
|
></HTML
|
|
> |