web-dev-qa-db-ja.com

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

私たちのUbuntuサーバーでは、/usr/share/nginx/www- dataの所有権を持つwww-data:wwwのNginxユーザーとしてクローンを作成でき、次のような警告が表示されます。

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

コマンドはSudo -u www-data git clone <repo>.として実行しています

Sudoを使用すると、この警告が表示されます。それ以外の場合は問題なく機能します。

Rootユーザーとしてクローンを作成でき、問題はありません。

.gitconfigはルートのみにあり、内容を確認してください:

root@geo:~# cat /root/.gitconfig
[user]
        name = pc_user
        email = [email protected]
root@geo:~#

誰でも私たちを助けてくれますか?.

手動で/root/.config/を直接作成して権限を変更するなど、さまざまなオプションを試しましたが、何も機能しません。誰かが私を助けてくれますか?.

こちらもご覧ください:

root@geo:/setup/test# ll /setup/
total 16
drwxr-xr-x  4 www-data www-data 4096 Oct  9 00:14 ./
drwxr-xr-x 24 root     root     4096 Oct  9 00:14 ../
drwxr-xr-x  3 www-data www-data 4096 Oct  9 00:14 test/

root@geo:/setup/test# Sudo -u www-data git clone -v git@....../test.git
Cloning into 'test'...
remote: Counting objects: 8323, done.
remote: Compressing objects: 100% (6459/6459), done.
remote: Total 8323 (delta 1543), reused 8241 (delta 1500)
Receiving objects: 100% (8323/8323), 39.85 MiB | 19.52 MiB/s, done.
Resolving deltas: 100% (1543/1543), done.
Checking connectivity... done.
warning: unable to access '/root/.config/git/attributes': Permission denied

したがって、gitセットアップの問題のようです。どなたでもご案内頂けますか?.


私はこのセットアップをUbuntu 14.04で使用しています。別のUbuntu 12.04で同じ設定を行うと、問題なく動作します。

また私はこれをしました:

ユーザーgeopcを作成してsudoersリストに追加し、geopcユーザーとしてログインしてこのコマンドを実行するとSudo -u www-data git clone -v git@....../test.gitが完全に機能します。

したがって、問題は、Ubuntu 14.04でrootユーザーとして直接ログインし、Sudo -u www-data git cloneとしてクローンを作成すると、この警告が表示されます。しかし、Ubuntu 12.04にはありません。

Ubuntu 14.04でgitバージョン1.9.1を使用していますが、gitをバージョン2.1.1にアップグレードしましたが、同じです。

10
Geo

@muは正しいです。これは、ユーザーwww-dataのHOME環境変数ではなく、ユーザーrootのHOME環境変数がスクリプトに渡される問題です。

Sudoコマンドに-Hスイッチを追加する必要があるだけなので、かなり簡単です。

Sudo -u www-data -H git clone -v git@....../test.git
10
quentinadam

HOME変数が正しく設定されていないと思います。

google group thread から、

hOME環境変数が/rootに設定されたため、権限のないユーザーが/root/.gitconfigにアクセスできなかったために/root/.config/git/configまたは/rootが表示され、エラーが発生しました。

したがって、解決策は私がHOME envをユーザーのHOMEディレクトリに設定することでした

1
mu 無