无法访问“git/attributes”

nwlqm0z1  于 2023-06-28  发布在  Git
关注(0)|答案(7)|浏览(178)

警告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.

我是否应该向房东报告潜在的基础设施问题?

ztyzrc3y

ztyzrc3y1#

我自己也遇到了这种情况。在验证它正在查找~/.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,并将给予上述警告。(图片来源:user @krethika)
chown-R选项用于递归修改权限。如果您在~/.config下有子文件夹,这将有所帮助

vpfxa7rd

vpfxa7rd2#

我认为你的HOME环境变量设置不正确。
从谷歌群组的帖子来看
HOME环境变量被设置为/root,所以它会查看/root/.gitconfig/root/.config/git/config,因为非特权用户没有访问/root的权限,所以它会抛出错误。
因此,解决方案是将HOME env设置为用户的HOME目录

9q78igpj

9q78igpj3#

转到根目录
cd ~/
编写以下代码:
sudo chown -R username /Users/username
其中username是系统的用户名。

pbossiut

pbossiut4#

Git尝试从root读取配置而不是用户配置。请检查您的环境变量是否设置了正确的git配置,或者您的主文件夹中的.gitconfig文件是否可以访问。

ctehm74n

ctehm74n5#

这是用户权限的问题。你必须给予自己root权限。
您可以通过切换到root用户来临时修复此问题。为此;

sudo su

成为根通过这样做。然后你需要在这里添加你的git配置设置,以及你正在迁移到一个不同的用户。也是为了这个

git config user.email "you@example.com"
git config user.name "Your Name"

然后再重复你的动作。应该可以

0sgqnhkj

0sgqnhkj6#

我已经运行了类似的问题,并能够在服务器端修复它。git在uwsgi下运行,所以我在uwsgi配置中添加了以下行:

env = HOME=/srv/git

其中/srv/git由uwsgi运行时使用的同一个uid拥有,并被设置为chmod u+rwX /srv/git。因此,您需要将运行git的进程的服务器端的HOME变量指向该进程将拥有阅读/写/遍历权限的目录。

frebpwbc

frebpwbc7#

对于Windows,这可能是一种情况,当一些进程,如CMD或SSH客户端打开了一些文件夹,Git试图删除。

相关问题