在我们的Ubuntu Server中,我们能够以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 setup有关。谁能指导我们。
我在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中。
我们在Ubuntu 14.04上使用git版本1.9.1,我们也将git升级到了版本2.1.1,但相同。
/root
。如果没有文件系统权限,那么诸如AppArmor或SELinux之类的东西肯定会阻止Web服务器访问/ root。