На нашем сервере Ubuntu мы можем клонировать как пользователь Nginx /usr/share/nginx/www
с www-data:www
владельцем -data, получая предупреждение как
Предупреждение: невозможно получить доступ к /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, она прекрасно работает.
Также я сделал это:
Создал пользовательский геопек и добавлен в список пользователей, и когда мы вошли в систему как пользователь геопорта и выполнили эту команду, 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, но тоже самое.
/root
. Если нет прав доступа к файловой системе, то такие вещи, как AppArmor или SELinux, должны блокировать доступ веб-сервера к / root.Ответы:
@ МУ прав. Это проблема передачи переменной окружения HOME пользователя
root
в сценарий, а неwww-data
переменной окружения HOME пользователя.Вам просто нужно добавить ключ -H к команде sudo, так что это довольно просто:
источник
Я думаю, что
HOME
переменная настроена неправильно.Из цепочки группы Google ,
источник
Вам просто нужно перезапустить ваш экземпляр stash, используя пользователя, отличного от root. Как правило, пользователь будет таким же, как вы использовали во время установки.
например, atlstash
Это установит вашу переменную HOME как / home / atlstash и решит вашу проблему.
источник