为什么 samba 拒绝我访问我的共享?

Kev*_*Kev 11 linux centos samba server-message-block

在运行 Samba (3.0.33-3.29) 的 CentOS 5.2 机器上,我创建了一个名为/upload.

在 samba 中,我配置了这样的共享:

[上传]
        评论 = 上传文件夹
        路径 = /上传
        有效用户 = kevin root
        公共 = 是
        可写 = 是
        可浏览 = 是
        创建面具 = 0777
        目录掩码 = 0777
        客人好 = 是

chown/upload文件夹添加到我的帐户“kevin”并检查我是否可以通过 shell 创建文件和文件夹。

我可以从 Windows 7 浏览到机器,以“kevin”身份进行身份验证并查看我的主目录共享和upload共享,但我无法访问它们。

Windows 报告:

网络错误

Windows 无法访问 \\cos-01\upload

检查名称的拼写。否则,您的网络可能有问题。要尝试识别和解决网络问题,请单击诊断。

错误代码:0x80070035
找不到网络路径。

这是我所做的检查清单:

  • 该帐户kevin已添加到 samba,同时使用smbpasswd -a kevin和设置我的密码。samba 和 centos 密码都是一样的。
  • 服务器名称cos-01/etc/hosts文件中,即
172.0.0.1 本地主机 localhost.localdomain
172.17.3.90 cos-01
  • 我还设置了 netbios 名称 /etc/samba/smb.conf
  • 我将 Windows 7 的 LAN Manager 身份验证级别配置为“发送 LM 和 NTLM - 如果协商使用 NTLMv2 会话安全”

更新:

我尝试通过 IP 地址和服务器名称访问共享,即 \cos-01\upload 或 \172.16.3.90\upload。在这两种情况下,我都会遇到与上面详述的相同的错误。

我检查了/var/log/samba/smbd.log日志文件,看到了很多:

[2010/07/02 16:56:10, 0] smbd/service.c:make_connection_snum(1013)
  连接到 [上传] 错误是权限被拒绝时“/上传”不存在或权限被拒绝

Kev*_*n M 5

SELinux 是否活跃?如果是,那么您可以通过将类型设置为 public_content_t 来使其可访问。如果 samba 应该能够写入它,则将类型设置为 public_content_rw_t。请注意,如果您选择后者,您还需要将这件事告诉 SELinux;我的 system-config-selinux 有一个布尔值:Allow Samba to write files in directories labeled public_content_rw_t

  • `setenforce 0` - 将测试是否是 SELinux 导致了问题。重新启动或“setenforce 1”将重新打开它。 (4认同)

Jas*_*per 0

嗯,这通常意味着本地路径 /upload (因此,在服务器的根目录中上传)在您的服务器上不存在。