如何在Linux中设置权限,以便两个用户可以在服务器上更新相同的SVN工作副本?

如何在Linux中设置权限,以便两个用户可以在服务器上更新相同的SVN工作副本?,第1张

概述我的服务器安装了Subversion和Apache,Apache web目录也是Subversion工作副本.原因是简单的命令svn update / server / staging将最新的源部署到登台服务器. Apache公共Web目录:/ server / staging – (这是SVN工作副本.) 我的服务器上有两个用户,’richard’和’austin’.他们都是’开发者’小组的成员 我的服务器安装了Subversion和Apache,Apache web目录也是Subversion工作副本.原因是简单的命令svn update / server / staging将最新的源部署到登台服务器.

Apache公共Web目录:/ server / staging – (这是SVN工作副本.)

我的服务器上有两个用户,’richard’和’austin’.他们都是’开发者’小组的成员.我递归地将/ server目录的权限设置为richard:开发人员,使用“sudo chown -R richard:developers / server”.

然后,我为’richard’和’developers’组设置了读,写和执行权限.

那么’奥斯汀’现在应该可以使用svn update / server / staging命令吗?但是,当他尝试时,他得到错误:

svn: Can't open file '/server/staging/.svn/lock': Permission denIEd

如果我递归地将/ server的所有者更改为austin:开发人员,他可以正常运行命令,但是’richard’不能.

我该如何解决这个问题?我想创建一个提交后挂钩,以便在提交文件时自动部署登台站点,但我看不到这种方法可以为两个用户工作.钩子将是:

/usr/bin/svn update /server/staging

对它们使用相同的用户帐户实际上并不是一个可接受的解决方案,我不知道有什么方法可以在钩子里面运行命令“root”.

任何帮助表示赞赏!

解决方法 目录集组ID

如果设置了目录条目上的setgID位,则该目录中的文件将具有组所有权作为目录,而不是创建该文件的用户组.

当多个用户需要访问某些文件时,此属性很有用.如果用户在设置了setgID属性的目录中工作,则任何用户在目录中创建的任何文件都将具有该组的权限.例如,管理员可以创建一个名为spcprj的组,并将用户Kathy和Mark添加到组spcprj中.可以使用设置的GID位和Kathy和Mark创建目录spcprjdir,尽管在不同的主组中可以在目录中工作并且可以完全访问该目录中的所有文件,但仍然无法访问彼此主要组中的文件.

以下命令将在目录上设置GID位:

chmod g+s spcprjdir

目录“spcprjdir”的目录列表:

drwxrwsr-x 2 kathy spcprj 1674 Sep 17 1999 spcprjdir

代替组权限中的执行位的“s”导致写入目录“spcprjdir”的所有文件属于“spcprj”组.

编辑:source = Linux Files and File Permissions

总结

以上是内存溢出为你收集整理的如何在Linux中设置权限,以便两个用户可以在服务器上更新相同的SVN工作副本?全部内容,希望文章能够帮你解决如何在Linux中设置权限,以便两个用户可以在服务器上更新相同的SVN工作副本?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1023722.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存