gpt4 book ai didi

linux - 避免让 subversion 修改 Linux 文件权限。

转载 作者:IT老高 更新时间:2023-10-28 12:40:19 26 4
gpt4 key购买 nike

我的所有代码库都存储在一个 subversion 存储库中,我分散在我的负载平衡的 Apache Web 服务器中,从而可以轻松地检查代码、运行更新,并将我的开发代码无缝地投入生产。

我确信有一个很容易解决的不便之处(除了在每次结帐时执行一个脚本),就是在使用 subversion 更新或 checkout 的文件上设置(返回)Linux 权限。我们的安全团队已将 OwnerGrouphttpd.conf 文件和 documentRoot 中的所有目录中设置获得 700 的权限,所有非可执行文件(例如 *.php、*.smarty、*.png)获得 600 的 Linux 权限,所有可执行文件获得 700(例如 *.sh、*.pl、*.py)。所有文件的所有者和组必须设置为 apache:apache为了被 httpd 服务读取,因为只有文件所有者被设置为通过权限访问。

每次我运行 svn update , 或 svn co ,即使文件可能没有被创建(即 svn update ),我发现文件的所有权被设置为运行 svn 命令的帐户,并且通常文件权限被设置为不同于它们原来的值(即更新前的 .htm 文件为 600,但在 svn update 之后,它被设置为 755,甚至是 777)。

绕过 subversion 尝试更新文件权限和所有权的最简单方法是什么?在 svn 客户端或 Linux 服务器上可以做些什么来保留原始文件权限?我正在运行 RHEL5(现在在一些选定的实例上运行 6 个)。

最佳答案

文件的所有者将被设置为运行 svn 命令的用户,因为它如何实现底层的 up 命令 - 它删除并替换更新的文件,这将导致所有权“更改”为相关用户。防止这种情况的唯一方法是实际执行 svn up 作为文件应该拥有的用户。如果您想确保它们归特定用户所有,请以该用户身份运行命令。

关于权限,svn 只服从帐户的 umask 设置——可能是 066 之类的东西——为了确保文件不能被组和其他帐户访问,你需要先发出 'umask 077'执行 svn up,这确保文件只能由发出命令的用户帐户访问。

除非 .svn 目录是安全的,否则我会注意将颠覆数据部署到 Web 服务器的安全问题。

关于linux - 避免让 subversion 修改 Linux 文件权限。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5953169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com