linux – Samba,Apache和SVN.获得权限

前端之家收集整理的这篇文章主要介绍了linux – Samba,Apache和SVN.获得权限前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两台工作机器:

> 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用户匹配?

解决方法

拥有一个组所拥有的文件和目录,即 Apache runs as.将目录设为 SGID.
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.

如果一致地应用所有内容,您应该能够执行所有期望的操作,而不会对任何功能产生负面影响.

猜你在找的Linux相关文章