【问题标题】:Setting up Git/Bitbucket on a Server: Permission Issues在服务器上设置 Git/Bitbucket:权限问题
【发布时间】:2015-08-01 03:53:23
【问题描述】:

我知道有很多类似的问题,但经过一个多小时的调试,我仍然摸不着头脑。我之前使用 HTTPS 设置了 Git,但我现在想使用 SSH。但是,当我git pull origin master 时,我得到了

error: git checkout-index: unable to create file test.txt (Permission denied)

我相信这是因为这些文件归 apache 所有,我需要为 Git 配置一些东西来写入 apache 拥有的文件。

这里有一些信息。 ssh -Tv git@bitbucket.org 给:

logged in as my_bitbucket_username.

ll ~/.ssh/ 给出:

drwxrwxr-x 2 username 4.0K May 20 00:18 ./
drwxr-xr-x 3 username 4.0K May 19 23:41 ../
-rw-r--r-- 1 username  410 May 18 18:13 authorized_keys
-rw------- 1 username   51 May 20 00:19 config
-rw------- 1 username  132 May 19 23:54 environment
-rw------- 1 username 1.8K May 20 00:18 id_rsa
-rw-r--r-- 1 username  414 May 20 00:18 id_rsa.pub
-rw-r--r-- 1 username  410 May 19 23:45 known_hosts

sudo .git/config 给出:

[remote "origin"]
    url = git@bitbucket.org:bitbucket_user/myrepo.git
    fetch = +refs/heads/*:refs/remotes/origin/*

ssh-add -l 给出:

2048 ... /home/username/.ssh/id_rsa (RSA)

这是现在的设置。

  1. Web 应用程序文件/目录归apache 所有
  2. .git 目录归root所有也归apache所有
  3. 我以username 登录,家是/home/username。我有 sudo。
  4. 我的钥匙在~/.ssh/id_rsa

我想要的是能够以username 身份登录并使用此密钥拉取并推送到存储库。如何配置它,以便我或其他用户可以git push/pull 而不会弄乱此 Web 应用程序目录中的文件所有权?

【问题讨论】:

    标签: git ssh bitbucket ssh-keys


    【解决方案1】:

    不要使用sudossh -Tv git@bitbucket.org 使用您当前的用户帐户。 sudo 使用 /root

    或者,如果您必须使用 sudo,请确保 /root/.ssh 包含用于访问 bitbucket 的公共/私有 ssh 密钥,sudo ssh 会话应该会失败。

    【讨论】:

    • 我更新了我的帖子。我得到了推动工作,但拉动不起作用。我想我知道原因,但我不知道如何解决它。我没有尝试过sudo git pull...,因为我不确定这会如何改变文件所有权,即apache
    • @musicliftsme 为什么不能直接使用git pull?没有sudo?并使用正确的帐户?
    • 我无法使用 git pull 作为我自己 (username),因为我无权访问 apache 的目录和文件。我什至将自己添加到apache 组,但它拒绝我访问。我不想sudo git pull,因为那样它将更改为root拥有的文件。
    • 奇怪,我现在可以从 repo 中提取和获取新文件。看来我现在唯一的问题是让这些新文件归 apache 所有。听起来我必须使用部署脚本或其他东西在部署后将所有者更改回apache
    猜你喜欢
    • 2016-06-16
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 2015-02-27
    相关资源
    最近更新 更多