git 在 nfs 共享上克隆不工作(权限被拒绝)
git clone on nfs share not working(Permission denied)
我正在为我的 debian 主目录使用 nfs 存储服务器。
server:
/home/nfs 192.168.0.0/16(rw,sync,fsid=1,crossmnt,no_subtree_check,no_root_squash)
client:
192.168.1.8:/home/nfs on /mnt type nfs4 (rw,relatime,sync,vers=4.2,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.9,local_lock=none,addr=192.168.1.8)
一切似乎都很好,但是当我使用 git clone
时,它有一个文件权限。输出行是:
/mnt/test $ git clone https://github.com/nelu/rutorrent-filemanager
Cloning into 'rutorrent-filemanager'...
remote: Enumerating objects: 487, done.
remote: Counting objects: 100% (487/487), done.
remote: Compressing objects: 100% (297/297), done.
fatal: Unable to create temporary file '/mnt/test/rutorrent-filemanager/.git/objects/pack/tmp_pack_XXXXXX': Permission denied
我用sudo git clone
可以正常工作。
/mnt/test $sudo git clone https://github.com/nelu/rutorrent-filemanager
Cloning into 'rutorrent-filemanager'...
remote: Enumerating objects: 487, done.
remote: Counting objects: 100% (487/487), done.
remote: Compressing objects: 100% (297/297), done.
remote: Total 569 (delta 326), reused 341 (delta 187), pack-reused 82
Receiving objects: 100% (569/569), 252.76 KiB | 50.00 KiB/s, done.
Resolving deltas: 100% (340/340), done.
Checking out files: 100% (63/63), done.
但目录 /mnt/test
的 getfacl
显示以下输出:
/mnt/test $ getfacl .
# file: .
# owner: fcying
# group: fcying
user::rwx
group::rwx
other::rwx
所以其实应该没有权限问题,我的用户是目录的所有权限。那么我缺少与许可相关的东西吗?
或者这是与 NFS 相关的问题?
我该如何解决这个问题?
git 版本 2.20.1
客户端os: Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux
考虑到任何 Git 版本似乎都存在此问题,您可能需要检查驱动程序,因为 in this answer(虽然是关于 ntfs 的,但可以提供一些想法)。
同时检查:
OP fcying confirms :
I saw nfs server /var/log/syslog
: it had a nfs crash.
After I restart nfs server, it works fine.
我正在为我的 debian 主目录使用 nfs 存储服务器。
server:
/home/nfs 192.168.0.0/16(rw,sync,fsid=1,crossmnt,no_subtree_check,no_root_squash)
client:
192.168.1.8:/home/nfs on /mnt type nfs4 (rw,relatime,sync,vers=4.2,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.9,local_lock=none,addr=192.168.1.8)
一切似乎都很好,但是当我使用 git clone
时,它有一个文件权限。输出行是:
/mnt/test $ git clone https://github.com/nelu/rutorrent-filemanager
Cloning into 'rutorrent-filemanager'...
remote: Enumerating objects: 487, done.
remote: Counting objects: 100% (487/487), done.
remote: Compressing objects: 100% (297/297), done.
fatal: Unable to create temporary file '/mnt/test/rutorrent-filemanager/.git/objects/pack/tmp_pack_XXXXXX': Permission denied
我用sudo git clone
可以正常工作。
/mnt/test $sudo git clone https://github.com/nelu/rutorrent-filemanager
Cloning into 'rutorrent-filemanager'...
remote: Enumerating objects: 487, done.
remote: Counting objects: 100% (487/487), done.
remote: Compressing objects: 100% (297/297), done.
remote: Total 569 (delta 326), reused 341 (delta 187), pack-reused 82
Receiving objects: 100% (569/569), 252.76 KiB | 50.00 KiB/s, done.
Resolving deltas: 100% (340/340), done.
Checking out files: 100% (63/63), done.
但目录 /mnt/test
的 getfacl
显示以下输出:
/mnt/test $ getfacl .
# file: .
# owner: fcying
# group: fcying
user::rwx
group::rwx
other::rwx
所以其实应该没有权限问题,我的用户是目录的所有权限。那么我缺少与许可相关的东西吗? 或者这是与 NFS 相关的问题? 我该如何解决这个问题?
git 版本 2.20.1
客户端os: Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux
考虑到任何 Git 版本似乎都存在此问题,您可能需要检查驱动程序,因为 in this answer(虽然是关于 ntfs 的,但可以提供一些想法)。
同时检查:
OP fcying confirms
I saw nfs server
/var/log/syslog
: it had a nfs crash.
After I restart nfs server, it works fine.