Назад | Перейти на главную страницу

невозможно получить доступ к '/root/.config/git/attributes': Permission> denied »

На нашем сервере Ubuntu мы можем клонировать как пользователь Nginx в /usr/share/nginx/www который имеет www-data:www-владелец данных получает предупреждение как

"Предупреждение: невозможно получить доступ к '/root/.config/git/attributes': в доступе отказано"

Мы выполняем команду как sudo -u www-data git clone <repo>.

С sudo мы получаем это предупреждение, иначе все работает нормально.

Мы можем клонировать как пользователь root, и это не проблема.

.gitconfig находится только в корневом каталоге, и посмотрите его содержимое:

root@geo:~# cat /root/.gitconfig
[user]
        name = pc_user
        email = pcgeopc@gmail.com
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 он работает отлично.

Итак, проблема в том, что мы напрямую вошли в систему как пользователь root в Ubuntu 14.04 и клонировали как sudo -u www-data git clone приходит это предупреждение. Но его нет в Ubuntu 12.04.

Мы используем git версии 1.9.1 в Ubuntu 14.04, мы также обновили git до версии 2.1.1, но то же самое.

@mu прав. Это проблема вашей переменной среды HOME пользователя root передается скрипту вместо пользователя www-dataпеременная окружения HOME.

Вам просто нужно добавить переключатель -H в команду sudo, так что это довольно просто:

sudo -u www-data -H git clone -v git@....../test.git

я думаю HOME переменная настроена неправильно.

Из ветка группы Google,

переменная среды HOME была установлена ​​на /root так он посмотрел на /root/.gitconfig или /root/.config/git/config поскольку у непривилегированного пользователя не было доступа к /root это выдало ошибку.

Итак, решение заключалось в том, чтобы я установил HOME env в домашний каталог пользователя.

Вам просто нужно перезапустить экземпляр тайника, используя пользователя, отличного от root. Обычно это тот же пользователь, который вы использовали во время установки.

например Атлсташ

Это установит вашу переменную HOME как / home / atlstash и решит вашу проблему.