加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 17:12:24 所属栏目:Linux 来源:网络整理
导读:我有两台工作机器: Windows客户端(开发机器) Linux Web服务器(Ubuntu) 在Linux服务器上,我安装了Apache,Samba和SVN. 我创建了一个映射到htdocs /目录的samba共享,以便我可以从Windows访问Web文件. 以下说明了我的工作流程: 从Linux服务器上的命令行,我将We
我有两台工作机器:

> 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.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读