我看过一些例子展示了如何davfs2在 linux 下使用,但每个例子都涉及以下其中一件事情:
mount以 root 身份运行
添加条目到 /etc/fstab
运行mount.davfssetuid,唉,仍然需要输入/etc/fstab
这可以避免吗?如果不是,webdav 的哪些方面会阻止它,而不是例如 sshfs?
我希望完全停用我的 SMBA 服务并将其替换为 WebDav 服务。
到目前为止所有的谷歌搜索都指向我使用 Apache/Webdav。这与我需要的很接近,但据我所知,它需要 Apache 访问我用户的文件,更糟的是;如果它创建一个文件,则新文件将归 Apache(而不是用户)所有。 请注意,要求文件具有正确的 Unix 所有权和权限,因为某些用户具有直接 SSH 访问权限。
所以我只是在寻找一种方法来使 Apache/Webdav 与多用户“正确”工作(即在尝试提供文件之前将 unix 用户更改为登录用户)或找到 Apache /网络视频
到目前为止,搜索还没有出现任何结果。
我已使用davfs2(webdav) 成功将 Box.com 安装到本地位置。现在,我尝试对 Webdav 文件夹中创建和同步的文件触发操作。
不幸的是,这不起作用。inotify当文件同步到本地 Webdav 文件夹时,我没有看到任何事件。不过,它确实会拾取任何本地文件事务,因此我非常有信心它inotify可以正常工作。
还有人使用 Webdav ( davfs2) 和 吗inotify?
我能够安装davfs2,我什至可以使用它装载 SharePoint 文档库,但是当我尝试在装载上执行任何操作时,我收到错误消息。
我可以挂载文档库:
root@host:/# mount -t davfs "http://sharepoint/Shared Documents" /mnt/sp
Please enter the username to authenticate with server
http://sp/Site Stuff or hit enter for none.
Username: username
Please enter the password to authenticate user nacho with server
http://sp/Site Stuff or hit enter for none.
Password:
Run Code Online (Sandbox Code Playgroud)
我可以 CD 到它,我可以看到它从那里安装:
root@host:/# cd /mnt/sp
root@host:/mnt/sp# ls
Forms lost+found home.html
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试创建文件或执行任何操作时,出现错误:
root@host:/mnt/sp# touch a
touch: setting times of ‘a’: No such file or directory
root@host:/mnt/sp# date > hi.txt
bash: hi.txt: Invalid …Run Code Online (Sandbox Code Playgroud) 我已经通过以下方式使用davfs2挂载了一个webdav目录:
sudo mount -t davfs -o uid=bruni,gid=users https://server/folder /home/bruni/mountpoint/
Run Code Online (Sandbox Code Playgroud)
如何在不卸载目录的情况下通过命令行强制同步?
客户端运行KUbuntu 19.10,服务器是egroupware服务器,但这很可能无关紧要。
mount.davfs -V
davfs2 1.5.5 <http://savannah.nongnu.org/projects/davfs2>
Run Code Online (Sandbox Code Playgroud)
为了澄清我所说的同步是什么意思,我的意思是umount.davfs在卸载之前执行的操作以验证所有更改是否已上传到服务器:
/sbin/umount.davfs: waiting while mount.davfs (pid xxxxx) synchronizes the cache .. OK
Run Code Online (Sandbox Code Playgroud) davfs2 允许以$.davfs2/secrets纯文本形式存储用户的密码,以便允许用户在不提示输入密码的情况下安装 webdav。
是否可以存储预加密的密码?这个想法是用户自己在交互式脚本中输入密码(知道加密算法)将其转换为加密形式并将其保存在$.davfs2/secrets.
通过这种方式,即使是 root 也无法访问(暴力破解)用户密码。
如何使用 Unix 工具(如wget,命令行非交互式工具)将文件夹从http://public.me.com/(与iDisk或MobileMe相关的服务)复制到本地文件系统?
问题是 Web 界面实际上是一个复杂的基于 Javascript 的东西,而不是简单地公开文件。(连w3m都不能浏览,比如https://public.me.com/rudchenko。)
我的目标是不时以非交互方式更新本地副本,并将下载文件的命令放到脚本中,以便其他人可以运行该脚本并下载文件。
一个wget的样(rsync的样,混帐拉类似的)工具将适合我,或者安装孔熔丝网络文件系统,然后使用标准的Unix命令的组合来复制的目录就可以了。
我在维基百科文章(我在上面提到的)中读到 Apple 提供了对这些服务的WebDAV 访问,我也读过关于cadaver,一个类似wget的 WebDAV 客户端,但我不知道我是哪个地址应该用于访问http://public.me.com/ 上的文件夹,只读(匿名)。
也许 Gilles 的评论(当前未使用 WebDAV)是正确的,但幕后似乎仍有一些 WebDAV 内容:传递给浏览器的 URL 用于下载带有目录的存档(按下“下载选定的文件后” " 按钮位于 Web 界面顶部)如下所示:
https://public.me.com/ix/rudchenko/SEM%20Sep21%201%20TO%20PRINT.zip?webdav-method=ZIPGET&token=1g3s18hn-363p-13fryl0a20-17ial2zeu00&disposition=download
Run Code Online (Sandbox Code Playgroud)
-- 请注意,它提到了“WebDAV”。(如果你很好奇,我试图重新使用这个 URL 作为wget的参数,但它失败了:
$ LC_ALL=C wget 'https://public.me.com/ix/rudchenko/SEM%20Sep21%201%20TO%20PRINT.zip?webdav-method=ZIPGET&token=1g3s18hn-363p-13fryl0a20-17ial2zeu00&disposition=download'
--2011-11-21 01:21:48-- https://public.me.com/ix/rudchenko/SEM%20Sep21%201%20TO%20PRINT.zip?webdav-method=ZIPGET&token=1g3s18hn-363p-13fryl0a20-17ial2zeu00&disposition=download
Resolving public.me.com... 23.32.106.105
Connecting to public.me.com|23.32.106.105|:443... connected.
HTTP request …Run Code Online (Sandbox Code Playgroud) 我想挂载一个文件夹以与我的 Ubuntu One 帐户同步。唯一的限制是我不想使用提供的客户端。如果重要的话,我会使用 Arch Linux。如果您可以为所有 WebDAV(??) 资源提供通用解决方案,那将是有用的和很好的参考。
我使用 davfs、aufs、rsync:
sudo mount -t davfs -o uid=wd,gid=wd,dir_mode=777,rw https://wd1.wd.wd/ /mnt/webdav1
sudo mount -t davfs -o uid=wd,gid=wd,dir_mode=777,rw https://wd1.wd.wd/ /mnt/webdav2
sudo mount -t davfs -o uid=wd,gid=wd,dir_mode=777,rw https://wd2.wd.wd/ /mnt/webdav3
sudo mount -t aufs none /mnt/webdav/ -o br:/mnt/webdav1=rw:/mnt/webdav2=rw:/mnt/webdav3=rw,create=mfs,sum
rsync -r /home/user/bp /mnt/webdav/backup
Run Code Online (Sandbox Code Playgroud)
但是我有很多问题:
有谁知道如何解决这些问题或建议其他软件?我想过使用 ownCloud 但我不确定它是否可以将 WebDAV 服务器合并为一个进行备份。
我在运行 piCore-6.1 的 rPi 上安装了 davfs2。我在 /etc/fstab 中添加了一行包含所需安装点的行:
\n\nhttps://url.../ /path.../ davfs _netdev,rw,user,uid=1000,gid=1000 0 0\nRun Code Online (Sandbox Code Playgroud)\n\n我还创建了一个 /etc/davfs2/secrets (并在其上调用 chmod 600)
\n\nhttps://url.../ user password\nRun Code Online (Sandbox Code Playgroud)\n\n当我打电话时,mount -a系统会要求我输入用户名和密码,据我了解,davfs2 应该检查机密文件并使用指定的用户和密码。
TL;DR 我的 davfs2 不想使用我创建的机密文件...
\n基本上,我正在寻找的是 Samba - 只是我希望它是前面的 WebDAV。要求是用户可以使用其系统帐户登录到 WebDAV 目录,并且文件将相应地设置其用户和组。
我知道有 sambadav,但令人沮丧的是,似乎不可能在 FreeBSD 下使用它来获得写入功能。
我正在尝试从 Linux 控制台访问我的“Onedrive for Business”存储,特别是无头 Ubuntu 16.04 服务器。唯一官方支持的方法是 Windows 同步应用程序。
我想使用 Onedrive 作为远程文件系统来扩展本地存储,而不是使用同步客户端在本地复制所有文件。
“Onedrive for Business”实际上是 Sharepoint 的一个变体,它不接受 webdavs 上的用户名和密码 - 必须已经存在一个用于 webdavs 客户端的身份验证 cookie。
通过调整以下说明,我已成功将远程存储安装为 Windows 10 中的 webdavs 文件夹: https: //www.imss.caltech.edu/content/mounting-onedrive-business-mapped-drive但它仅在登录后才有效我们的 Onedrive 网站与 Internet Explorer 一起创建 Windows 资源管理器使用的 cookie。
在 Linux 上,我可以通过在 Konqueror Web 浏览器中登录 Onedrive 网站,然后使用该 cookie 连接到 Konqueror 文件浏览器中的 webdavs 来复制此行为。这总比没有好,但我确实需要控制台访问权限。不幸的是,KioFuse 似乎早已被废弃。
除了 Konqueror 之外,还有什么方法可以让 Linux 控制台访问远程文件系统?我查看了 davfs2、gvfs 和 cadaver,但找不到任何使用现有 cookie 进行身份验证的文档。
我正在寻找一些可以提供 Dropbox 等功能的软件。
对于这个用例,一个简单的 webdav 就足够了吗?