【问题标题】:Linux permissions on files checked out from SVN从 SVN 签出的文件的 Linux 权限
【发布时间】:2014-08-15 08:10:04
【问题描述】:

如果文件是组可写的,我们使用的服务器被配置为不运行 PHP 脚本。我们使用 SVN 在服务器上部署项目(本质上它们是我们从不更改或提交的工作副本)。发布版本被复制到标签,然后在服务器上我们 svn 切换到新标签。

这曾经很好用,但是对于我们的一个项目,每当我们 svn 切换到新版本时,文件都会设置为 -rw-rw-r--。所以每次部署后我们都需要手动执行“chmod -R g-w ./”。

知道为什么会发生这种情况以及如何使 SVN 写入具有所需权限的文件。

【问题讨论】:

标签: linux file-permissions


【解决方案1】:

这与 SVN 无关,但与默认权限有关。似乎设置新文件的默认权限的方法是:

setfacl -d -m g::r ./

-d 标志更改默认权限。 -m 修改它们,g::r 表示只为 g 设置 r。

【讨论】:

    【解决方案2】:

    Subversion 不管理或操纵除可执行文件以外的权限(只有当您设置svn:executable 时才会这样做)。如果您需要更改工作副本的权限,请为您的结帐编写一个包装脚本,以便在结帐/更新后进行这些更改。

    【讨论】:

    • 父目录/用户设置/系统设置(或其他任何地方)中是否有任何内容定义了如果未指定任何内容,新创建的文件将获得哪些默认权限?如果我执行类似 ls > foo.bar 的操作,也会使用 ug=rw 创建。
    • 这是一个 UNIX/Linux 使用/管理问题的核心,而不是 Subversion,而是研究umask
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    • 2014-08-09
    • 2012-08-06
    • 1970-01-01
    • 2012-04-13
    相关资源
    最近更新 更多