我的光盘有很多变化。我想将许多操作系统的文件添加到我的中央存储库中,其中源自 OS X 的文件在以后在 Linux 发行版或 Windows 中查看它们时给我带来了最大的麻烦
- 在 OS X 中制作的文件/光盘
- 许多 Linus 发行版(主要是 Debian 和 Ubuntu)制作的文件/光盘
- 只有 Chromebook 中制作的一些文件/光盘 [在此处格式化光盘并在其他系统中使用它 - 一场噩梦,所以只需拒绝此目标]
- 只有少数文件/光盘是在 Windows 7 和 10 中制作的
但是,我收到了有关所有权的警告。我正在考虑跑步
sudo chown -R masi:masi /local/folder
然而,masi 并不是我所有系统中的主要用户。我的存储库将文件分发到许多计算机、手机和笔记本电脑。所以使用时出现问题。我确实ls -la
注意到了,drwxr-xr-x 1 99 99 ...
我认为 99 99 分别是组和所有者。有些文件/文件夹有root root
。
我不知道应该如何控制这里的组和所有者。我应该把一切都投入吗99 99
?
BTsync 的存档可防止勒索软件攻击造成的损害
在 L33tCh 的答复后我联系了 BTsync 支持并收到了答复
同步不能保护用户免受病毒攻击。当文件出现在共享文件夹中并且对等方具有读写权限时,将文件同步传输到另一个对等方。但是,如果启用存档选项,您将能够找到以前的文件版本,即使它们被加密文件版本覆盖。
因此,您有可能从其他同行那里下载受感染的文件。但如果您没有防病毒程序,即使您上网冲浪也可能会这样做。
该链接表示用户的同事遇到了勒索软件攻击,而不是 Sync。它们没有影响我们的服务器,也没有在我们的服务器上同步二进制文件。所以你不需要担心它。
它们具有以下参数max_file_size_for_versioning
,其值为整数,默认值为 1000 (Mb),这意味着如果文件太大并且被修改,同步会将以前的版本放入存档中。 Archive 文件夹位于.sync/Archive
共享文件夹内的文件夹中。在 Windows 和 Mac 上,您可以通过右键单击同步中的文件夹并选择“打开存档”选项来打开它。现在max archive file age
称为sync_trash_ttl
(更改为 2.3),根据我的请求更新这里在“首选项”>“设置”中。将其设置为 0 可无限存档。
存档中的无限文件存储会消耗大量内存。例如,假设 .tex 文件中有许多小的更改,这会在 Archive 中创建许多文件。我认为GIT可以解决这个问题。我向支持人员询问了这件事。
如何将光盘的文件/文件夹集中到存储库中以供前端和后端设备使用?
答案1
这并不完全把所有东西都放在同一个地方,但至少让你可以像原来一样访问你需要的所有东西。它应该通过让每个平台都在自己的系统上来解决您的访问问题,并让您将所有源视为单个驱动器或您决定如何设置。
他们将其描述为一个基于软件的去中心化文件存储平台
我计划自己使用它来从一个点访问我的笔记本电脑/家庭和云驱动器。然后每个平台都有客户端以与 DropBox 工作方式类似的方式访问数据。
这应该取代 BTSync 的需求,但也让您可以选择添加版本控制存储系统的安全性。我提出这个问题的原因是一位同事在遭受勒索软件攻击时丢失了一堆数据,BTSync 完成了它的工作,但这意味着所有数据副本都被加密并丢失。只有云存储系统中的集合才能恢复。
答案2
梅尔布尔西安的回答是正确的。您的用户和组必须映射到所有 UNIX 系统上的相同 UID 和 GID,否则在尝试访问在其他计算机上创建的文件时将出现所有者和权限错误。
据我所知,OSX 使用与 UNIX 相同的设置,因此适用相同的规则。
Windows 有一个完全不同的权限系统。没有将 UNIX 权限映射到 Windows 权限的标准方法。
我怀疑这里发生的是 BTSync 正在 UNIX 和 OSX 计算机之间复制权限,而不修改文件的所有者或组(记住,它是 UID 和 GID)数字重要的是,而不是用户和组名字)。它必须在某种程度上修改 Windows 中的文件,这可能就是您的 Windows 文件大部分都可以工作的原因。
显然,动态用户权限修改是 BTSync Pro 的一项功能(我从未使用过)。不过,我不确定它是否能完成您需要它做的事情。如果您使用的是 Pro,您应该联系他们的支持人员并了解如何解决您的问题。如果您没有使用 Pro,那么您应该修改您的用户和组以映射到正确的 UID 和 GID。
MacOS 有一个用户权限工具,我相信一旦您更改 UID 和 GID,它就可以修复权限。在 UNIX 上,一旦进行更改,您将需要find
在必要时使用诸如更改所有者和组之类的操作。示例命令如下 - 假设 masi:masi 映射到 105:105,而您需要将其设置为 99:99,并且您已经更改了 /etc/passwd 和 /etc/group:
find / -uid 105 -exec chown masi {} \;
find / -gid 105 -exec chown :masi {} \;
首先进行备份,并确保在此过程中没有 UID 或 GID 冲突(即两个用户具有相同的 UID,或两个组具有相同的 GID)。
另一种更安全的选择是为每台运行上述命令的计算机创建一个脚本,但仅限于您正在同步的目录。每次同步时运行该脚本(可能会从同一脚本中调用 BTSync 和适当的命令)。你需要sudo
这个。
哦,既然您使用的是 OSX 和 Windows,请忘记我上面所做的 NIS 评论。
答案3
除非您对用户名/组名与 UID/GID 定义进行集中或非常一致的跟踪,否则不可避免地会在某些地方将用户名视为文件的所有者,而其他地方则仅显示 99 99 等数字,无论您看到和想到什么,文件所有权基于这些数字,而不是用户名。
假设您是 server1 上的 masi:masi(用户:组),masi 的 UID 为 99,masi 的 GID 为 99。您已将所需文件的所有权更改为 masi:masi。假设 server2 共享同一目录。在 server2 上,您的 masi 用户名的 UID 为 105,GID 也为 105。当您转到 server2 时,您无法访问刚刚在 server1 上更改所有权的那些文件。
因此,如果您想要集中访问文件,请确保您的 UID 和 GID 全部相同。或者,您可以打开对它们进行读写的权限,但是,对于任何偶然发现它们的人来说也是如此。