所以我遇到的问题是,我有一个 WebDAV 共享,需要我登录 VPN 才能使用。一般来说,我有很多可以访问但并不总是可用的共享。所以我有各种各样的 shell 脚本来创建挂载点,然后为我挂载 cifs 共享。例如
#!/bin/bash
# CLI ARGS
LONG_ARGS=unmount::
SHORT_ARGS=u::
OPTS=$(getopt -a -n weather --options $SHORT_ARGS --longoptions $LONG_ARGS -- "$@")
eval set -- "$OPTS"
mount=true
while :
do
case "$1" in
-u | --unmount )
mount=false
echo "Unmounting and removing Folder"
shift 2;
;;
-- )
shift;
break
;;
* )
echo "Unexpected option $1"
exit 2
;;
esac
done
if $mount
then
sudo mkdir /mnt/some-mount
sudo mount -t cifs -o username=uname,password=password //1.1.1.1/remote-mount /mnt/some-mount -o rw,uid=1000,gid=1000
else
sudo umount /mnt/some-mount
sudo rm -rf /mnt/some-mount
fi
echo "Done"
我尝试并调整了 的选项davfs
。我无法让它正确自动化。将 WebDAV 共享添加到/etc/fstab
works 并将登录添加到/etc/davfs/secrets
。
我读到文档中说davfs2
您可以进行配置,~/.davfs2
但个人配置sudo mount /mnt/webdav-share
不起作用,并且挂载会抱怨该挂载点/mnt/webdav-share
没有条目。/etc/fstab
答案1
好的,因此存在大量问题,从已知的良好配置开始并再次按照我的方式解决问题就成功了。
以下是修复这些问题所需采取的步骤:
- 在 中创建一个条目,
/etc/fstab
该条目现在看起来像这样;请注意 ,noauto
这可以避免启动时出现安装问题。我想我也可以在其中添加noexec
和uid
和,gid
但目前这很少,而且可以正常工作。
https://domain.com/webdav /mnt/olat davfs noauto
- 我的配置出了问题,愚蠢的我花了很长时间才意识到
。2.1davfs2.conf
没有noexec 1
支持2.2线davfs2.conf
没有支持类似 fstab即
https://domain.com/webdav /mnt/some-mountpoint
教程中建议这样做。
conf
只要您的配置格式正确且不包含我上面提到的行,该选项就可以有效。拥有
secrets ~/.davfs2/secrets
导致/etc/davfs2/davfs2.conf
了unknown option
错误。
- 添加行:
secrets /home/user/.davfs2/secrets
奇怪的是,这对~/.davfs2/davfs2.conf
作品来说。
~/.davfs2/davfs2.conf
并且~/.davfs2/secrets
需要由 拥有root
。
总结一下:
- 添加挂载点和挂载选项至
/etc/fstab
- 注意你在 中的配置
~/.davfs2/davfs2.conf
。不要添加类似 fstab挂载点和选项的行到 davfs2.conf,并注意您对secrets
文件行的操作。 - 按照文档中的方法将你的密码添加
[/mount/point or https://share.point/webdav] username "password"
到你的用户密码中。/etc/davfs2/secrets
如果你需要检查密码中是否有特殊字符,这里有示例供你参考。 - 安装
sudo mount -t davfs2 /mnt/mountpoint -o conf=~/.davfs2/davfs2.conf
并希望(!)一切正常。
我希望这能帮助那些因缺少密码选项而苦苦挣扎的人。
阿里索特2000