我正在 Ubuntu 16 中设置 btsync(用于服务器之间的代码共享),并尝试使其使用组共享文件夹。以下是 ps:
btsync 27420 0.1 0.4 572916 17632 ? Ssl 01:21 1:07 /usr/bin/btsync --config /etc/btsync/config.json
我将下载指向一个特定的文件夹。它是这样的:
drwxrws---+ 2 cente fileserver 4096 3月 14 01:31 存储/
...这是里面的内容:
drwxr-xr-x 3 根文件服务器 4096 3月 9日 12:53 媒体/
(因此最终目的地是 /media/storage)
cente@server:/$ getfacl /media/storage getfacl: Removing leading '/'
from absolute path names
file: media/storage
owner: cente
group: fileserver
flags: -s- user::rwx group::rwx other::rwx default:user::rwx default:group::rwx default:group:fileserver:rwx default:mask::rwx
default:other::---
使用此设置时,ui 会抱怨无法在里面创建文件夹。我将 /media/storage 的 chmod 改为 777,现在可以在 ui 中创建文件夹。如果可以的话,我不想使用 777。
$ 组 btsync
btsync :btsync 文件服务器
我也尝试将 umask 改为 007,但没成功。我该如何做才能让系统尽可能安全呢?
答案1
根据本指南,可能需要调整其中的内容/media/storage/
。
该指南建议执行以下操作:
sudo mkdir shared_folder
sudo chown root:btsync shared_folder
sudo chmod 2775 shared_folder
sudo usermod -a -G btsync your_user
shared_folder
您的 在哪里/media/storage
以及your_user
用户是否正在将文件填充到 中/media/storage
。
虽然我不明白为什么你的方法不起作用,但指南本身似乎坚持认为应该将事情转移到 btsync 组的所有权,而不是将 btsync 用户添加到另一个组。
我对 btsync 不是很熟悉,但我能想到的其他程序只检查进程的有效组 ID,而不检查任何补充组(有关这方面的一些背景信息,请参阅https://unix.stackexchange.com/questions/18198/gid-current-primary-supplementary-effective-and-real-group-ids)。
这与您的症状一致:btsync 似乎正在评估other
,而不是group
,这就是为什么 770 不起作用,但 777 起作用的原因。
因此,在这种情况下,我更倾向于让 btsync 发挥作用,而不是让 btsync 与您的设置一起工作。换句话说,将所有组所有权从 更改为fileserver
,btsync
并调整将数据写入您的共享的用户,使 btsync 作为补充组。