我在CentOS上使用cifs / samba映射到Windows共享。使用此命令:
sudo mount -t cifs -o username=Username //path/to/share /var/share
我的PHP应用程序现在需要能够创建目录并将文件上传到/ var / share(现在是映射的cifs共享)。那里的所有文件都属于root:root。当我尝试将文件更改为apache:apache时,Linux没有抛出任何错误,但是当我执行ls -l时,它仍然显示所有者是root:root。
有没有办法解决这个问题,以便我的应用可以写入共享?
答案 0 :(得分:3)
mount命令中的用户名是“Windows”用户名,身份验证由Samba管理。默认情况下,导出的卷包含root拥有的所有内容。您需要做的是在mount命令中指定* NIX用户名和组名。这是我使用Apple的CIFS实现在我的Ubuntu盒子上安装Mac的方法:
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使用文本名称而不是数字。为了与最新版本的Mac OS X CIFS服务器兼容,需要使用“nounix,sec = ntlmssp”。