无法访问共享文件夹(samba)

无法访问共享文件夹(samba)

我有一台 Linux 服务器 (Linux1),我已经在其中配置了要共享的文件夹。它运行在 RHEL 7.2 上。我的配置/etc/samba/smb.conf如下:

[sharing]
    path = /home/share
    guest ok = yes
    browseable = yes
    read only = no

一切运行正常,我可以从我的另一台 Linux 服务器 (Linux2) 访问共享文件夹中的所有子文件夹和文件。共享文件夹之前已安装cifs/mnt/share

然后我重新启动了 Linux1,禁用了防火墙,并重新启动了 smb 服务。

从 Linux2,我可以看到我的共享文件夹和子文件夹,但是当我尝试ls进入子文件夹时,它显示ls: reading directory /mnt/share/subfolder: Permission denied

我不明白为什么它现在不起作用。

答案1

我刚刚意识到我的 SELinux 已设置Enforcing为 Linux1,这导致了权限问题。禁用它后,我就能再次访问子文件夹和文件。

答案2

您不应禁用 SELinux。更好的办法是更改 SELinux 设置以允许访问您的共享。

运行类似的操作chcon -t samba_share_t /home/share应该可以解决问题。

答案3

不要禁用 selinux,而是设置正确的布尔值和安全上下文值,如下所示。(我假设“共享”是 samba 共享名称)

setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
getsebool -a | grep samba_export
semanage fcontext -at samba_share_t "/sharing(/.*)?"
restorecon /sharing

您可能还需要添加一些规则来允许 Samba 流量。

firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

相关内容