Не удалось получить доступ к 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/
на вашем компьютере