【问题标题】:Update files as different User以不同用户身份更新文件
【发布时间】:2009-07-18 12:19:22
【问题描述】:

我正在尝试在 [Unfuddle][1] 和我的本地服务器之间创建同步,以便在 Unfuddle 上进行 SVN 提交时,我的本地服务器的代码会自动更新。 Unfuddle 提供了回调,我可以在提交时获取回调。

现在我的网络服务器以名为“apache”的用户身份运行,但所有现有文件都归“开发”用户所有。这是我的团队每天用来更新代码的 ftp 用户。我想这样做,以便我的回调将文件作为“开发”用户写入。

这些是我迄今为止尝试完成的工作

  1. 我不能使用 sudo -u development,因为这意味着我必须放松为 apache 运行“sudo”命令。
  2. 将文件权限更改为 777 可行,但显然,这不是我想做的事情。

我现在能想到的唯一选择是运行一个独立的 Python HTTP Server 并使其以“开发”用户身份运行并使其成为回调 url。这样,我可以将本地工作副本更新为“开发”用户,而我的其他人也可以像以前一样使用它。

还有其他方法吗?

谢谢!

【问题讨论】:

    标签: web-services unix permissions


    【解决方案1】:

    对于个人用途,我会使用 Python HTTP Server 方法,但如果您对 Apache 感到满意——我想会运行一个脚本来获取从 Unfuddle svn 获取内容到本地的内容。在这种情况下,请尝试 mod_suexec,它以不同的用户身份运行脚本。

    【讨论】:

      【解决方案2】:

      您是否考虑过将两个用户放在同一个组中,并为该组授予权限?

      【讨论】:

      • 我确实尝试过,但由于同步的性质,svn update 将创建新文件夹,除非我指定 777,否则这是不可能的。这些文件和目录归“开发”所有并提供 umask似乎是我可以为组提供读/写权限的唯一方法,但是在运行“svn update”之前从脚本中设置 umask 也不起作用。
      猜你喜欢
      • 2014-07-16
      • 2015-01-02
      • 2020-07-28
      • 1970-01-01
      • 2010-10-03
      • 2015-08-06
      • 2014-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多