当我尝试添加另一台运行 btsync 的机器上已有的共享文件夹时,出现错误。我在 ubuntu 机器上的 btsync 实例是使用官方 Linux 软件包。它似乎正在以用户 运行btsync
。目标文件夹已经存在,位于我的本地用户名下。但是,我尝试将文件夹共享给不存在的文件夹名称,并遇到了同样的错误。
正如标题所示,错误很简单:“没有权限写入选定的文件夹。”
我不知道如何解决这个问题。似乎原因可能是 btsync 实例正在运行在对相关目录没有写权限的用户身上。我想这个问题可以通过完全开放权限(777)来解决,但这似乎是一个非常糟糕的主意。
我尝试的另一件事是将btsync
用户添加到我的本地用户组,即usermod -a -G <localuser> btsync
。但这不起作用。
任何帮助都将不胜感激!有想法吗?
答案1
如果您的 btsync 由名为 的用户运行btsync
,那么您实际上应该将文件夹的所有者添加到btsync
:
chown -R btsync folder_name
或者如果您使用 resilio 您应该将文件夹所有者更改为relsync
:
chown -R rslsync folder_name
答案2
正如 BTSync 团队所回答的:
在 btsync 的配置文件中,从配置中删除“directory_root”或“dir_whitelist”参数。此参数指定 Sync 可以创建文件夹的位置。您还可以修改它以包含要同步的特定文件夹。
这是默认的 sync.conf 文件:
{
"listening_port" : 55555,
"storage_path" : "/mnt/sync/config",
"vendor" : "docker",
"display_new_version": false,
"directory_root_policy" : "belowroot",
"directory_root" : "/mnt/",
"webui" :
{
"listen" : "0.0.0.0:8888",
"allow_empty_password" : false,
"dir_whitelist" : [ "/mnt/sync/folders", "/mnt/mounted_folders"]
}
}
您可以将自定义文件夹添加到dir_whitelist