'git diff
'や 'git add .
'などのgit操作を実行すると、次の警告が表示されます。
unable to access '/Users/dida/.config/git/attributes': Permission denied
どの設定を間違ったか、どうすれば修正できますか?
いくつかのコマンドの方が良いです。私はmacコマンドラインを使用しています
実行したようですSudo -H
とSudoが一部のファイルの所有権をroot
に変更しました。ファイルを元に戻します。
Sudo chown -R dida /Users/dida
原因
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
gitはHOME
およびXDG_CONFIG_HOME
環境設定を使用して構成ファイルを検索します。
それらが現在のユーザーに適切に設定されていることを確認してください( id
コマンドの結果を確認してください )
id -a
また、git config -l --show-Origin
をチェックして、whereを確認します。Gitがこれらの構成ファイルにアクセスしようとしています。
sudo -u user --set-home git clone http://github.com/repohere を試してみてください。