На нашем сервере 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
переменная настроена неправильно.
переменная среды HOME была установлена на
/root
так он посмотрел на/root/.gitconfig
или/root/.config/git/config
поскольку у непривилегированного пользователя не было доступа к/root
это выдало ошибку.Итак, решение заключалось в том, чтобы я установил HOME env в домашний каталог пользователя.
Вам просто нужно перезапустить экземпляр тайника, используя пользователя, отличного от root. Обычно это тот же пользователь, который вы использовали во время установки.
например Атлсташ
Это установит вашу переменную HOME как / home / atlstash и решит вашу проблему.