Не удалось получить доступ к git/attributes '

Что означает предупреждение remote: warning: unable to access '/root/.config/git/attributes': Permission denied и какие последствия оно приносит?

$git clone git://git.eclipse.org/gitroot/egit/egit.git
Cloning into 'egit'...
remote: warning: unable to access '/root/.config/git/attributes': Permission denied
remote: Counting objects: 57926, done.
remote: Compressing objects: 100% (11872/11872), done.
remote: Total 57926 (delta 30734), reused 56308 (delta 29136)
Receiving objects: 100% (57926/57926), 32.29 MiB | 1021 KiB/s, done.
Resolving deltas: 100% (30734/30734), done.
Checking out files: 100% (1483/1483), done.

Должен ли я сообщать потенциальной инфраструктурной проблеме хостеру?

Ответ 1

Я сам столкнулся с этой ситуацией. Убедившись, что он просматривал в ~/.config/ я заметил, что владельцем этой папки является root. Я изменил это на my_user_name и это сработало.

cd ~/
ls -al
<Noticed .config was owned by root, unlike everything else in $HOME>
sudo chown -R $(whoami) .config

Это также помогает узнать причину: этот каталог создается при первом запуске программы, которая его использует. Если команда была запущена от имени пользователя root, это вызовет проблему с разрешениями.

Например, если каталог ~/.config еще не существует, и вы запускаете sudo htop, каталоги ~/.config и ~/.config/htop будут созданы и принадлежат пользователю root. После этого обычная команда git не сможет получить доступ к ~/.config и выдаст указанное выше предупреждение. (Кредит: пользователь mehtunguh)

Опция -R с chown предназначена для рекурсивного изменения разрешений. Это поможет, если у вас есть подпапки в ~/.config

Ответ 2

Я думаю, что ваша переменная HOME envireonment установлена неправильно.

Из цепочки группы Google,

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

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

Ответ 3

Git пытается прочитать конфигурацию из корня вместо пользовательской конфигурации. Проверьте, что переменные среды имеют правильный набор конфигурации git или доступен файл .gitconfig в вашей домашней папке.

Ответ 4

первый ответ у меня работает, спасибо

Ответ 5

Я запустил похожую проблему и смог исправить ее на стороне сервера. Git работает там под UWSGI, поэтому я добавил в UWSGI конфигурации следующую строку:

env = HOME=/srv/git

где /srv/git принадлежит тому же uid, под которым работает uwsgi, и сделал chmod u+rwX/srv/git Итак, вам нужно указать переменную HOME на стороне сервера для процесса, который запускает git, в каталог, где этот процесс будет иметь разрешения на чтение/запись/прохождение.

Ответ 6

Перейти в корневой каталог

cd ~/

Напишите следующий код:

sudo chown -R username/Users/username

Где username - это имя вашей системы.

Ответ 7

Также вы можете проверить владельца папки /root/.config/git/ на вашем компьютере