无法从 MacOS 连接到在 Linux 服务器中运行的 Samba 共享

无法从 MacOS 连接到在 Linux 服务器中运行的 Samba 共享

女士们,先生们,

我希望这里有人能指导我解决我面临的问题的正确方向。我确实在互联网论坛上尝试了所有可能的选项,但没有运气。

我正在尝试连接到运行 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

相关内容