在Linux Debian 9上,我正在尝试在通过davfs2(版本1.5)安装的Cryptomator(版本1.3.2)WebDAV服务器中创建一个git(版本1:2.11.0-3 + deb9u2)存储库。 4-2 + B1)。运行git init
以创建git repo后,出现以下错误:
error: could not lock config file /home/nonrootuser/Documents/mounteddrive/gitrepo/.git/config: Permission denied
fatal: could not set 'core.repositoryformatversion' to '0'
与nonrootuser和root相同的问题仍然存在。
重现:
git和davfs2可通过Debian存储库获得。 Cryptomator 1.3.2可在此处获得: https://github.com/cryptomator/cryptomator/releases/tag/1.3.2
为davfs2 mount创建一个空文件夹:
cd /home/nonrootuser/Documents/
mkdir mounteddrive
使用Cryptomator创建一个保险库并将其解锁。对于未锁定的保管库,请单击下拉箭头并选择复制WebDAV URL 。将WebDAV URL粘贴到以下命令中并在终端中运行:
mount -t davfs -o gid=nonrootuser,uid=nonrootuser pasteWebDAVURLhere /home/nonrootuser/Documents/mounteddrive
(按两次输入,将用户名和密码留空)
Cryptomator保险库现已安装到文件夹mounteddrive。
在终端中,执行以下操作:
cd /home/nonrootuser/Documents/mounteddrive
mkdir gitrepo
cd gitrepo
git init
在这里您应该看到上述错误。但是,仍会在gitrepo目录中创建.git文件夹。在gitrepo中运行ls -la
时,它似乎表明我有适当的权限,我可以在.git文件夹中创建任意文件;我无法创建的是一个名为config.lock的空文件,我相信git正在尝试这样做。
这可能完全偏离基础,但我尝试在davfs2.conf文件中打开和关闭锁定(请参阅use_locks
),可以通过以root身份运行以下内容来编辑它:
mousepad /etc/davfs2/davfs2.conf
为了尝试获取创建config.lock的相应权限,我尝试将我的git user.name更改为“root”和“nonrootuser”:
git config --system user.name "root"
git config --global user.name "root"
和
git config --system user.name "nonrootuser"
git config --global user.name "nonrootuser"
我也试过在gitrepo文件夹中运行以下root和nonrootuser:
chmod -R 777 .git
但是,git init
仍会返回错误。
git在cryptomator / davfs2挂载之外的系统上工作正常。我以前没有使用过daffs2而没有加密器,所以我不知道前者,后者或两者都是问题。
任何想法都表示赞赏。