Linux权限继承

3

我希望了解Linux权限继承和Subversion的情况。如果我检出一个属于 "svn:svn" 的文件并提交它,然后在最初检出的目录上运行svn update,该文件将获得我的权限。我是svn组的成员。如果我从svn组中删除自己以强制权限保持为svn:svn,那么可以吗?我使用Subversion客户端检出文件,该客户端使用svn作为用户。谢谢。


你是如何使用Subversion的?例如,你是通过svnserve运行还是通过http运行所有内容?或者,你是使用svn+ssh吗? - David W.
3个回答

3
您需要在该目录的组权限上设置粘性位。
chmod g+S svndir

这将强制组权限被其子代继承。

1
+1:这是正确的,但请注意这是在本地机器上执行的操作,不会对存储库产生任何影响。每当有人检出模块时,都必须在检出机器上执行此操作。 - Ernest Friedman-Hill

1

您可以在父目录上设置组粘着位,这将自动将该目录分配给在其中创建的任何文件

chmod g+s .

我认为它不会将粘滞位应用于任何子目录,因此您需要为每个子目录复制此操作,但至少文件将具有正确的组所有权。


0

Subversion在存储库中不存储文件所有权或权限。如果您检查某些内容,它将归您所有。我不确定您试图实现什么,但这将涉及使用脚本更改本地计算机上的文件所有权。


好的,这里是我的难题,我无法理解。我正在使用GUI(Sycro)来检出和提交到存储库。我还有一个钩子来更新Web服务器。如果我检出文件,修改它并提交,钩子将使用文件和正确的(Svn)用户名更新服务器。但是...如果我终端进入Web服务器并进行更新,则权限为ME。我该如何解决这个问题?如果我以“svn”身份登录到Web服务器,它不会让我更新...告诉我有权限问题。 - mike628

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接