我已经按照说明使用 webdav 安装了一个 webdav 文件夹这里。为了挂载此目录,我使用以下命令:
sudo mount -t davfs -o uid=bruni,gid=users https://serveraddress /home/bruni/mountpoint
但是,当尝试使用同步此文件夹时免费文件同步我收到以下错误:
Cannot set directory lock for "/path/to/mountpoint".
Cannot write file "/path/to/mountpoint/sync.ffs_lock".
Error Code 13:Permission denied (open)
请注意,该问题与 TLS 加密无关,因为当我不使用 https 时(当我在办公室时)也会出现该问题。
另请注意我能够从终端甚至 nautilus 在已安装的目录中创建文件所以我的问题是,为什么 freefilesync 不能用,我该如何解决这个特定问题?
我使用 Ubuntu 16.04 和 Freefilesync 8.2,但我可以想象这是多余的信息。
更新日期:2016/5/7: 以下是顶级挂载点的权限:
ls -l
drwxr-xr-x 16 bruni users 488 Jun 14 14:19 Infolog
此处应在目录中创建锁定文件
ls -l
drwxr-xr-x 16 bruni users 0 May 31 22:07 id54843
id54843 是一个目录,位于 Infolog 深处。
Freefilesync 正在以 bruni 身份运行
bruni 8448 1.9 0.2 753820 46684 ? Sl 11:24 1:05 /home/bruni/Downloads/Software/Linux/FreeFileSync/FreeFileSync
我不想进行双向同步。
答案1
+1:有趣的问题。
Freefilesync 可能需要特权来备份其解析的卷中的某些文件。据我所知,保留文件的所有权sudo
并不好。rwx
如果从 cli 执行它,正确的语法是:
$ sudo -i -g bruni /usr/bin/FreeFileSync "${HOME}"/.FreeFileSync/backup-jobref.ffs_batch 2> "${HOME}"/.FreeFileSync/backup-jobref.ffs_log
以上假设您在 FreeFileSync 的 GUI 中先前定义了一个批处理作业并将其保存为:"${HOME}"/.FreeFileSync/backup-jobref.ffs_batch
。
但是,如果您打算通过自动脚本运行该作业,请确保您明确或隐式使用的变量在您的执行环境中是已知的(cron
,,udev
...):
$HOME
$DISPLAY
不要在脚本中留下未定义的内容,例如:
# define local default display and pass it on to any child process
DISPLAY=:0 ; export DISPLAY
DISPLAY=:0 ; export DISPLAY
如果您在执行 FreeFileSync 的远程实例时对远程卷进行远程管理,则可能不适合您的用例。在这种情况下,您必须适当地定义 DISPLAY。
如果你不想sudo
每次运行备份作业时都要输入密码,或者你希望它运行无人看管,然后转到:/etc/sudoers.d/
并使用 sudo 编辑该文件10_user
或您选择的任何名称:
%admin yr_host = NOPASSWD: /usr/bin/FreeFileSync
包含admin
您和您授权以 root 权限运行 FreeFileSync 的用户组。请访问man sudoers
以了解sudoers
规则的语法和句法。
更多细节sudoers
超出了 OP 的范围,但为了更完整一点,只加 2 条评论。
1)规则模式sudoers
# who where = tags:(as_whom) what
# "who" is either a group or a collection of users
# "where" is a host or a collection of hosts
# "tags" is the permission granted to "what" is being allowed
# "as_whom" specifies under whose guise the cmd(s) are executed;
# can be a user "user:" or a group ":group"
# or a user and group "user:group"
# "what" is a cmd or a collection of cmds
2)警告:弄乱sudoers
可能会让用户微笑,或者造成安全黑洞,或者使自己和其他人sudo
完全无法访问。在后一种情况下,这晚上你仍然可以回家吃蛋糕。确保你知道自己在做什么。
上面的测试在普通的 14.04.4 LTS 桌面上对我来说很好,但是能安全方面需要进一步加强。这样做并不复杂,但又超出了这个问题的范围
。HTH