![无法从 MacOS 连接到在 Linux 服务器中运行的 Samba 共享](https://linux22.com/image/166043/%E6%97%A0%E6%B3%95%E4%BB%8E%20MacOS%20%E8%BF%9E%E6%8E%A5%E5%88%B0%E5%9C%A8%20Linux%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%AD%E8%BF%90%E8%A1%8C%E7%9A%84%20Samba%20%E5%85%B1%E4%BA%AB.png)
女士们,先生们,
我希望这里有人能指导我解决我面临的问题的正确方向。我确实在互联网论坛上尝试了所有可能的选项,但没有运气。
我正在尝试连接到运行 Fedora Server 的无头服务器上运行的 samba 共享。我尝试从 Mac mini 连接到它进行 Time Machine 备份,并在日志中收到以下错误:
make_connection_snum:服务 timemachine 的 canonicalize_connect_path 失败,路径 /home/timemachineuser/timemachinebackup
Fedora 服务器作为虚拟机在 Proxmox 虚拟机管理程序上运行。我通过 Proxmox 分配了 750GB 存储空间,其唯一目的是用于 Time Machine 备份。
下面是我的设置/etc/samba/smb.conf
[timemachine]
comment = Time Machine
create mask = 0770
directory mask = 0770
path = /home/timemachineuser/timemachinebackup
read only = No
spotlight = Yes
vfs objects = catia fruit streams_xattr
fruit:time machine = yes
fruit:aapl = yes
中的路径smb.conf
是我在 Proxmox 中分配的存储的挂载点。
/dev/sdc1 738G 73M 700G 1% /home/timemachineuser/timemachinebackup
如果我将 smb.conf 中的路径更改为/home/timemachineuser
文件夹中的任何普通文件夹,然后尝试从 Mac 进行连接,它绝对可以正常工作。但是当路径是挂载点时,我收到上述错误。正如许多使用chmod -R a+x /home
.但没有运气。
我尝试/dev/sdc1
使用 XFS 和 ext4 文件格式进行格式化,结果相同。
感谢任何帮助解决此问题的帮助。提前致谢。
层次结构的文件权限:
~ ⌚ 21:05:09 $ ls -ld / /home /home/timemachineuser /home/timemachineuser/timemachinebackup
博士-xr-xr-x。 22根根4096 Jan 9 23:26 / drwxr-xr-x。 4 root root 67 Jan 6 08:11 /home drwxrwx--x。 5 timemachineuser timemachineuser 221 Jan 11 18:11 /home/timemachineuser drwxrwxrwx。 3 timemachineuser timemachine 4096 一月 11 17:45 /home/timemachineuser/timemachinebackup
~ ⌚ 21:05:12 $
答案1
那天晚上我正在做类似的事情。我的设置略有不同,因为我不使用主目录,每个 LVM 都安装在其自己的根级别目录中,但以下几点可能会有所帮助:
在 [Global] 部分中,我使用以下方法强制执行最低 SMB 级别:
[Global]
min protocol = SMB2
如果您正在运行 SMB 4,如果您的端点客户端支持它,您也可以将 SMB3 设置为最小值(我的一些客户端还不支持,因此锁定到 v2 作为最小值)。
您是否运行 smbpasswd 来为连接用户设置 smb 身份验证?
正如我之前提到的,我使用根级别目录而不是主级别(避免与 selinux 在我称之为普通 samba 共享和基于主目录的共享的选项方面产生歧义。
对于这些,我使用以下命令来设置相关的 selinux 证券:
setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
getsebool –a | grep samba_export ##Just to check it set properly
semanage fcontext –at samba_share_t "/timemachine1(/.*)?"
restorecon /timemachine1
我还 chown timemachine 目录,因此所有者是我登录 samba 共享的用户。
另请仔细检查您的防火墙端口是否打开:
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
在 Mac 上,如果打开 finder 并执行 command-K,则可以手动进行 samba 连接来测试。
除此之外,您的 smb.conf 的全局部分可能有一些奇怪的东西,如果您仍然遇到困难,可能需要发布该部分。
答案2
您是否尝试过告诉服务器上的 SELinux 该目录可以被 Samba 访问?
这可能就像告诉 SELinux 允许共享主目录一样简单:setsebool -P samba_enable_home_dirs 1