【问题标题】:linux permission inheritancelinux权限继承
【发布时间】:2011-04-29 18:51:08
【问题描述】:

我想了解一下 linux 权限继承和颠覆。 如果我签出属于“svn:svn”的东西并提交它,然后,在最初签出的目录上运行 svn update,文件将获得我的权限。我是组svn的成员。我可以将自己从 svn 组中删除以在我进行更新时强制保持 svn:svn 的权限吗? 我正在使用 Subversion 客户端来检查文件,这使用 svn 作为用户。 谢谢

【问题讨论】:

  • 你是如何使用 Subversion 的?例如,您是运行 svnserve 还是通过 http 运行所有内容?或者,你使用的是 svn+ssh?

标签: linux svn permissions


【解决方案1】:

您需要在该目录的组权限上设置粘性位。

chmod g+S svndir

这将强制组权限由其后代继承。

【讨论】:

  • +1:没错,但请注意这是您在本地计算机上执行的操作,不是对存储库有任何影响的操作。每当有人签出模块时,都必须在结帐机器上完成此操作。
【解决方案2】:

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

chmod g+s .

我认为它不会将粘性位应用于任何子目录,因此您必须为每个子目录复制它,但至少这些文件会以正确的组所有权出现。

【讨论】:

    【解决方案3】:

    Subversion 不在存储库中存储文件所有权或权限。如果您检查某些东西,它就归您所有。我不确定您要完成什么,但它将涉及一个脚本来更改您本地计算机上的文件所有权。

    【讨论】:

    • 好的,这是我无法解决的问题。我正在使用 GUI (Sycro) 来签出并提交回购协议。我还有一个更新网络服务器的钩子。如果我签出一个文件,修改它并提交,钩子会用文件和正确的(Svn)用户名更新服务器。但是......如果我终端到网络服务器并进行更新,权限是我。如何做我解决这个问题?如果我以“svn”身份登录网络服务器,它不会让我更新.. 告诉我存在权限问题。
    猜你喜欢
    • 2013-07-18
    • 2021-09-13
    • 2022-09-23
    • 2017-02-24
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 2015-12-05
    • 2014-09-21
    相关资源
    最近更新 更多