Apache、Samba 和权限

Apache、Samba 和权限

我正在尝试配置 Apache 以写入已安装的 Samba 共享。我已成功配置 Samba 服务器,在客户端上安装了共享,并且我能够以 Apache 用户身份写入共享。Apache 在尝试写入时收到权限被拒绝错误。

我正在跟踪 Samba 服务器上的 Samba 日志。创建测试文件时,我能够看到日志条目。但是,当 Apache 尝试写入服务器 B 上的共享并收到权限被拒绝错误时,日志没有显示任何条目。

如果您能提供任何关于如何解决此问题的想法,我将不胜感激。

答案1

每当我需要解决 Samba 上的“访问被拒绝”错误时,我通常会检查三个地方以确保用户具有正确的访问权限。在这种情况下,#3 可能对您最有帮助:

1.) 如果您的环境允许,请调用“setenforce 0”来测试禁用 SELinux。我曾多次广泛地排除权限问题,却发现 SELinux 阻止了访问。如果这似乎是问题所在,请考虑编写一个条件语句来允许所需的访问。

2.) 文件系统 - 以用户身份登录 Linux 计算机并尝试导航到共享指向的路径。到达那里后,创建一个文件,然后创建一个目录。如果您可以毫无问题地完成此操作,那么很有可能是 Samba 权限问题。

3.) Samba - Samba 根据日志级别生成大量日志。我发现日志级别 3 通常就足够了,但如果需要,请在 smb.conf 中设置“log level = 4”。

在 samba 日志目录中,您应该找到每个尝试连接共享的主机的日志。主机将通过 IP 地址或主机名来识别。

当您尝试任何导致“权限被拒绝”错误的操作时,请跟踪您尝试连接的主机的日志。您可以很快看到用户权限在哪里失效,无论是密码错误、有效用户异常还是文件系统访问被拒绝错误。

如果此操作失败,您可以尝试创建一个广泛开放的共享,然后慢慢地限制它,直到访问中断。

最后,根据您的具体情况,您可能需要仔细检查 Apache 用于访问 Samba 共享的凭据;)

相关内容