Git pull权限否认linux?

时间:2013-01-03 19:28:41

标签: linux git ubuntu

当我运行git pull origin test时,我得到了

fatal: unable to connect to cache daemon: Permission denied

然后是github用户名和密码的提示符。该目录位于我的家庭文件夹(~/www/software)下。有任何想法吗?如果我使用sudo,它会起作用,但我觉得我不应该在自己的主文件夹中使用su!

以下是ls -l的结果:

drwxrwxrwx 48 root    root      53248 Jan  3 12:10 application
-rw-rw-r--  1 andrewr andrewr 1458793 Jan  2 10:09 a.txt
-rw-rw-r--  1 andrewr andrewr     186 Jan  2 10:09 Desktop.ini
-rw-rw-r--  1 andrewr andrewr    1406 Jan  2 10:10 favicon.ico
-rw-rw-r--  1 andrewr andrewr    6858 Jan  2 10:10 fb.jpg
-rw-rw-r--  1 andrewr andrewr       2 Jan  2 10:10 format
-rw-rw-r--  1 andrewr andrewr     398 Jan  2 10:10 index.php
-rw-rw-r--  1 andrewr andrewr   16572 Jan  2 10:10 license.txt
-rw-rw-r--  1 andrewr andrewr    1390 Jan  2 10:10 loginscreen.php
-rw-rw-r--  1 andrewr andrewr    6424 Jan  2 10:10 md5_login.js
-rw-rw-r--  1 andrewr andrewr      65 Jan  2 10:10 phpinfo.php
-rw-rw-r--  1 andrewr andrewr    9202 Jan  2 10:10 readme.html
-rw-rw-r--  1 andrewr andrewr     101 Jan  2 10:09 README.md
-rw-rw-r--  1 andrewr andrewr     229 Jan  2 10:09 README.txt
-rw-rw-r--  1 andrewr andrewr  180467 Jan  2 10:10 svn.ico
-rw-rw-r--  1 andrewr andrewr      71 Jan  2 10:10 test.php
-rw-rw-r--  1 andrewr andrewr   46080 Jan  2 10:09 Thumbs.db
-rw-rw-r--  1 andrewr andrewr    4268 Jan  2 10:10 wp-activate.php
drwxrwxrwx  9 root    root       4096 Jan  2 10:10 wp-admin
-rw-rw-r--  1 andrewr andrewr   40272 Jan  2 10:10 wp-app.php
-rw-rw-r--  1 andrewr andrewr     274 Jan  2 10:10 wp-blog-header.php
-rw-rw-r--  1 andrewr andrewr    3982 Jan  2 10:10 wp-comments-post.php
-rw-rw-r--  1 andrewr andrewr    3444 Jan  2 10:10 wp-config.php
-rw-rw-r--  1 andrewr andrewr    3087 Jan  2 10:10 wp-config-sample.php
drwxrwxrwx  6 root    root       4096 Jan  2 10:10 wp-content
-rw-rw-r--  1 andrewr andrewr    2684 Jan  2 10:10 wp-cron.php
drwxrwxrwx  8 root    root       4096 Jan  2 10:10 wp-includes
-rw-rw-r--  1 andrewr andrewr    1997 Jan  2 10:10 wp-links-opml.php
-rw-rw-r--  1 andrewr andrewr    2546 Jan  2 10:10 wp-load.php
-rw-rw-r--  1 andrewr andrewr   27695 Jan  2 10:10 wp-login.php
-rw-rw-r--  1 andrewr andrewr    7777 Jan  2 10:10 wp-mail.php
-rw-rw-r--  1 andrewr andrewr     413 Jan  2 10:10 wp-pass.php
-rw-rw-r--  1 andrewr andrewr     334 Jan  2 10:10 wp-register.php
-rw-rw-r--  1 andrewr andrewr    9913 Jan  2 10:10 wp-settings.php
-rw-rw-r--  1 andrewr andrewr   18545 Jan  2 10:10 wp-signup.php
-rw-rw-r--  1 andrewr andrewr    3702 Jan  2 10:10 wp-trackback.php
-rw-rw-r--  1 andrewr andrewr    1834 Jan  2 10:10 x.htaccess.bak
-rw-rw-r--  1 andrewr andrewr    3266 Jan  2 10:10 xmlrpc.php

几乎所有更改都在application文件夹

中进行

3 个答案:

答案 0 :(得分:18)

问题是git无法连接到其凭据缓存(有关详细信息,请阅读http://git-scm.com/docs/git-credential-cache)。

来自文档:

  

可以通过Unix域套接字访问缓存,通过文件系统权限限制当前用户。

所以你需要的只是检查这个域套接字的文件权限。通常它会放在~/.git-credential-cache/socket中并进行更改,以便andrewr用户可以访问它。

答案 1 :(得分:4)

问题似乎在您的文件所有者中是正确的。看看:

drwxrwxrwx 48 root root 53248 Jan 3 12:10 application 
...
drwxrwxrwx 9 root root 4096 Jan 2 10:10 wp-admin 

即使这些目录是每个人都可读,可写和可执行的,但其中的文件可能不是。此外,在您的主文件夹中拥有root所拥有的目录可能不是一个好主意。

如果在~/www/software

中执行,此命令应解决此问题
chown -R andrewr:andrewr *

答案 2 :(得分:0)

这是由于git缓存权限问题所致。

更改用户和组

chown -R current_user:user_group〜/ .cache / git /

chown -R current_user:user_group .git /

您可以从以下位置获取当前用户信息:whoami