【问题标题】:Gitosis and www-dataGitosis 和 www 数据
【发布时间】:2012-03-29 14:56:29
【问题描述】:

我目前正在 VPS 上构建一个 ubuntu (10.0.4 LTS) 服务器来托管一个基于 WordPress 的网站。

我已经安装了 gitosis 来托管远程存储库,我想做的是插入 post receive 挂钩以在我 git push 时更新 WordPress 主题。

我对用户和权限有点困惑。当我们运行git pull 时,/var/www 中的文件将归 git 用户所有。理想情况下,我希望/var/www 中的所有文件都归同一个用户所有,因为我认为这样会更安全?

我目前拥有我的 www-data 用户拥有的 /var/www 文件夹,经过阅读后我意识到这不是最好的做法。我需要一些帮助来制定最好的行动计划吗?

【问题讨论】:

    标签: ubuntu gitosis


    【解决方案1】:

    来自cmets:

    我不会将 gitosis 用于那种细粒度的控制:

    • gitosis 已过时,自 2009 年以来一直没有移动(尽管有些分叉仍然有点活跃)
    • commentquestion 说明大多数功能使用 Gitolite 更容易实现。

    所以,用 Gitolite:

    git 用户在 gitolite 环境中签出的 Git 存储库的 umask 使用将是文档部分“most often used/changed variables”中描述的那个

    gitolite 使用的默认UMASK 使所有repos 及其内容具有rwx------ 权限。想跑gitweb的人意识到这是行不通的。

    处理这个问题的正确方法是给这个变量一个类似0027的值(注意语法:前导0是必需的),然后让用户运行webserver(apache,www-data,无论如何)'git' 组的成员。

    如果您已经安装了 gitolite,则必须手动修复现有文件(对于 umask0027,应为 chmod -R g+rX)。
    这是因为umask 只影响新创建文件的权限,而不影响现有文件的权限。

    从那里,您可以关注“install gitolite under "apache"”。

    【讨论】:

    • 对不起,你建议我应该使用 gitolite 而不是 gitosis。我宁愿坚持使用 gitosis,因为我以前使用过它。
    • @simon:对不起,我没有看到 gitosis。是的。使用Gitolite。 Gitosis 已经过时了。查看stackoverflow.com/a/7592421/6309 的cmets 或查看此问题stackoverflow.com/questions/7591958/…
    • 我无法让 Gitolite 正常工作。我创建了一个名为 git 的用户,然后从 github 克隆了 Gitolite,查看了 g3 分支。我运行了创建 2 个存储库的安装。我可以从 git@server:repositories/gitolite-admin.git/ 克隆管理 repo,但是在阅读了这个 stackoverflow.com/questions/5233058/… 之后,我认为这是因为 git 用户具有 ssh 访问权限。我现在已经删除了 /home/git/.ssh/ 文件夹,并且无法从 git@server:repositories/gitolite-admin.git/ 或 git@server:gitolite-admin.git 进行克隆
    • @simon 您提到的问题(以及我回答的问题)与删除 ssh 无关。 ssh 对 Gitolite 非常有用。这是关于不使用存储库的完整本地路径git@server:repositories/gitolite-admin.git 不好。 git@server:gitolite-admin 更好:没有'repositories'。
    • 好吧抱歉我理解错了,所以我应该把公钥加回/home/git/.ssh/吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    • 2010-11-20
    • 2012-02-26
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多