配置 Samba DFS.note

noteId: WEB91337bb0a7f95aa11b34f2a2d16d4a36 · 原始路径:/ALL/Linux - A模块/服务配置/Samba、Samba AD域/配置 Samba DFS/配置 Samba DFS.note · 图片:13 · 附件待处理:0

 
一、配置 Samba DFS:
 
 
·题目:
 
1、配置 Samba DFS 服务器:
apt install -y samba
 
mkdir /resources
mkdir /dfsroot
chmod 777 /resources
chmod 777 /dfsroot
 
vim /etc/samba/smb.conf
# host msdfs=yes 表示这台Samba提供DFS
# msdfs root=yes 表示这个共享是DFS命名空间的根
 
# 假如本机是 srv02.wsc2026.sh
## 这里可以写 主机名,也可以写FQDN(但是必须要能够访问到,主机名还要写hosts,所以直接写fqdn):
ln -s 'msdfs:srv02.wsc2026.sh\resources' /dfsroot/resources
systemctl restart smbd
 
# 然后用smbpasswd -a 添加用户就能进行测试了:
smbpasswd -a user
 
·测试:
apt install -y smbclient
 
echo Test > /resources/Test.txt
 
smbclient -L //localhost -U user
smbclient //srv02/resources -U 'user%Skill39##'
smbclient //srv02/dfs -U 'user%Skill39##'
可以同时看到 dfs和 resources
 
2、将其他机器的samba共享加入本地DFS:
 
1)先在其他机器配置 samba共享:
apt install -y samba
mkdir /doc
chmod 777 /doc
 
vim /etc/samba/smb.conf
systemctl restart smbd
 
smbpasswd -a user
注意,如果这里用的是本地用户,那么两边的用户都必须要有,用户名和密码都需要一样,否则会无法访问
 
 
2)回到 DFS 上链接这个 samba共享:
必须能够访问到这个 samba IP、域名 和 它的 TCP 445端口
ln -s 'msdfs:fw01.wsc2026.sh\doc' /dfsroot/doc
 
·测试:
 
3、让一个 DFS文件夹有多个 target:
 
1)以上面存在的resources举例,现在srv02它在DFS本地有一个,那么我们只需要在其他samba服务器上再创建一个共享并链接即可:
# fw01:
mkdir /resources
chmod 777 /resources
 
vim /etc/samba/smb.conf
 
# srv02 上 链接这个samba共享:
## 如果已经存在,rm -rf 删除即可:
ln -s 'msdfs:fw01.wsc2026.sh\resources,srv02.wsc2026.sh\resources' /dfsroot/resources
 
2)(可选)此时两个文件夹的数据不会自动同步,这里可以使用 rsync 进行数据同步:
# 两边同时安装 rsync:
apt install -y rsync
 
ssh-keygen
ssh-copy-id root@fw01.wsc2026.sh
rsync -aHAX --delete /resources/ root@fw01.wsc2026.sh:/resources/
# -a 保留文件属性、权限
# -H 保留硬链接(不加也行)
# -A 保留 ACL(不加也行)
# -X 保留扩展属性(不加也行)
# --delete 表示本地删除的文件,远端也删除
 
·然后写一个计划任务,每分钟运行一次就可以了
vim /etc/crontab
systemctl restart cron