web-dev-qa-db-ja.com

「/Users/dida/.config/git/attributes」にアクセスできません:権限が拒否されました

'git diff'や 'git add .'などのgit操作を実行すると、次の警告が表示されます。

unable to access '/Users/dida/.config/git/attributes': Permission denied 

どの設定を間違ったか、どうすれば修正できますか?
いくつかのコマンドの方が良いです。私はmacコマンドラインを使用しています

10
Jing Lan

実行したようですSudo -HとSudoが一部のファイルの所有権をrootに変更しました。ファイルを元に戻します。

Sudo chown -R dida /Users/dida
8
phd

原因

Gitはさまざまなパスから構成設定を読み取り、はそれらの一部にアクセスできません。

環境変数オプション(-m)をリセットしないでsuコマンドを使用してスクリプトを開始すると、Gitは構成設定の代わりにルート構成設定を読み取ろうとします。

/bin/su -m $USER -c "cd $BASE/logs && $BASE/bin/startup.sh &> /dev/null"

Bitbucket Serverは、/ etc/init.d/atlbitbucket起動スクリプトを使用してrootとして起動されています。 init.dスクリプトがsu -mを使用するstart-bitbucket.shを呼び出すため、これによりルートの環境変数が保持され、atlbitbucketにはルートホームディレクトリに書き込む権限がありません。

Gitはデフォルト設定を使用してソースからコンパイルされたため、Gitをコンパイルしたユーザー以外のユーザーはGitを実行できません

解決

コマンドを実行するBitbucket Serverユーザーに関するファイルとディレクトリの権限を修正します。

chown <USER>.<GROUP> -R /home/<USER>/.config
chown <USER>.<GROUP> -R /home/<USER>/.gitconfig

(情報)OSのユーザー名とグループでUSER.GROUPを変更します。

Bitbucket Server起動スクリプトにsuコマンドがある場合は、オプション-mが使用されていないことを確認してください。

Bitbucket Serverが/etc/init.d/atlbitbucket startで起動されている場合、サービスatlbitbucket startでBitbucket Serveringを起動するように切り替えます

Bitbucket Serverを起動時に自動的に起動するには、chkconfig atlbitbucket onを実行します

より適切なデフォルトを使用してGitを再コンパイルします。

make prefix=/usr/local/git all
make prefix=/usr/local/git install

または、この記事が役立つかもしれません https://confluence.atlassian.com/bitbucketserverkb/permission-denied-on-git-config-file-779171763.html

2
Ria Anggraini

gitはHOMEおよびXDG_CONFIG_HOME環境設定を使用して構成ファイルを検索します。

それらが現在のユーザーに適切に設定されていることを確認してください( idコマンドの結果を確認してください

id -a

また、git config -l --show-Originをチェックして、whereを確認します。Gitがこれらの構成ファイルにアクセスしようとしています。

0
VonC

sudo -u user --set-home git clone http://github.com/repohere を試してみてください。

0
50chickens