私たちの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にアップグレードしましたが、同じです。
@muは正しいです。これは、ユーザーwww-data
のHOME環境変数ではなく、ユーザーroot
のHOME環境変数がスクリプトに渡される問題です。
Sudoコマンドに-Hスイッチを追加する必要があるだけなので、かなり簡単です。
Sudo -u www-data -H git clone -v git@....../test.git
HOME
変数が正しく設定されていないと思います。
hOME環境変数が
/root
に設定されたため、権限のないユーザーが/root/.gitconfig
にアクセスできなかったために/root/.config/git/config
または/root
が表示され、エラーが発生しました。したがって、解決策は私がHOME envをユーザーのHOMEディレクトリに設定することでした