2

我已经在 CentOS 上使用 cifs/samba 映射到 Windows 共享。使用此命令:

sudo mount -t cifs -o username=Username //path/to/share /var/share

我的 PHP 应用程序现在需要能够创建目录并将文件上传到 /var/share(现在是映射的 cifs 共享)。那里的所有文件都属于root:root。当我尝试执行 chown 将文件更改为 apache:apache 时,Linux 没有抛出任何错误,但是当我执行 ls -l 时,它仍然显示所有者是 root:root。

有没有办法解决这个问题,以便我的应用程序可以写入共享?

4

1 回答 1

3

mount 命令中的用户名是“Windows”用户名,身份验证由 Samba 管理。默认情况下,导出的卷具有 root 拥有的所有内容。您需要做的是在您的 mount 命令中指定 *NIX 用户名和组名。以下是我使用 Apple 的 CIFS 实现将我的 Mac 安装在我的 Ubuntu 机器上的操作:

sudo mount -t cifs //192.168.1.3/Shared /media/Shared -o username=mike,password=XXXX,uid=1000,gid=1000,nounix,sec=ntlmssp

您可以为 uid 和 gid 使用文本名称而不是数字。"nounix,sec=ntlmssp" 是与最新版本的 Mac OS X CIFS 服务器兼容所必需的。

于 2013-05-23T20:01:43.673 回答