> Windows客户端(开发机器)
> Linux Web服务器(Ubuntu)
在Linux服务器上,我安装了Apache,Samba和SVN.
我创建了一个映射到htdocs /目录的samba共享,以便我可以从Windows访问Web文件.
以下说明了我的工作流程:
>从Linux服务器上的命令行,我将Web项目的工作副本从远程服务器检出到我本地Linux服务器的htdocs目录.
>在Windows机器上,我访问这些文件(使用samba)并在我的编辑器中编辑它们并在Web浏览器中测试它们
>回到Linux机器上,我将我的工作签入远程服务器.
我遇到的问题是,目前我可以通过Samba编辑Windows框中的文件,我必须将文件的所有者更改为nobody(apache用户)并将Samba共享设置为使用SHARE权限.
当我尝试使用SVN提交和更新等时,我不能,因为我的Linux用户不是’nobody’,并且没有权限这样做.所以我必须成为root做一个SVN [命令]然后将所有文件更改回’nobody’,这样我就无法在Windows上编辑.
我希望能够做的是让我的本地Linux用户拥有Web文件,这将使SVN命令工作,而Windows(通过samba)也可以使用同一个用户.
我怎样才能让它工作,有没有办法让Windows和Linux用户匹配?
解决方法
chgrp -R group1 /path/to/htdocs find /path/to/htdocs -type d -exec chmod 2775 {} \;
在SAMBA共享下指定此组,可以使用force group = group1完成.
使用此组成员向SAMBA进行身份验证的用户.在有效用户中指定此用户,并在SAMBA中的共享中写入列表.这也应该允许您提交SVN.
另外,在smb.conf中指定create mask = 0664和directory mask = 2775,这将在创建时设置适当的权限.如果文件由与Apache相同的用户拥有,则可以在两个设置上将最终位设置为0.