如何创建可供多个用户和多个 Linux 操作系统访问的 DATA 分区?

如何创建可供多个用户和多个 Linux 操作系统访问的 DATA 分区?

我的磁盘中安装了许多 Linux 操作系统,每个操作系统都有许多不同的用户(具有不同的 uid)。我想创建一个 DATA 分区,其中包含音乐、视频和电影、种子、Dropbox 等……以及一些我需要在多个用户之间共享的其他内容(例如 steamapps、thunderbird、goldendict 词典等……)。我希望上述所有内容都可以由多个用户和多个 Linux 操作系统访问,包括实时图像。

现在我已经创建了一个 ext4 分区,但是在处理多个用户时遇到了问题,因为每次我从 1 个用户更改某些内容时,我都需要再次更改权限,这会导致整个目的失败。

有没有办法避免权限问题,让所有人都能随时访问所有文件?我正在考虑使用NTFSDATA 分区的文件系统可以在挂载期间授予权限,但我真的很想使用一些“原生”Linux 文件系统(因为我不再使用 Windows 或其他任何东西)。有什么办法吗?

答案1

现在我已经创建了一个 ext4 分区,但是在处理多个用户时遇到了问题,因为每次我从 1 个用户更改某些内容时,我都需要再次更改权限,这会导致整个目的失败。

我想告诉你一个词:团体

  • 可以为一个用户设置权限;例如 /home/$USER/
  • 可以为某个用户组设置权限;这将是/可能是一个数据目录。

所以 ...

  • 创建一个组“allusers”:sudo groupadd allusers
  • 将用户 rinzwind 添加到该组:sudo usermod -a -G allusers rinzwind
  • 创建一个分区,并给它一个挂载点(我们称之为“discworld”);
  • 将挂载点的组改为一个组;

    chgrp-R allusers /discworld/
    
  • 此后添加的用户您需要添加到该组才能获得访问权限。

对于新文件,在创建时要获取组设置:

  • grpid在坐骑上使用。
  • 或使用sudo setfacl -Rdm g:allusers:rx /discworld/ACL 方法(getfacl /discword列出权限)。

如果你想要一个非常奇特的设置:

/discworld/user1/
/discworld/user2/
/discworld/user3/
/discworld/user4/
/discworld/user5/
/discworld/common/
  • 将这些设置为所有者用户{1-5}和组用户{1-5},用户可以将其用作私人数据。
  • 将 common 设置为组“allusers”,并将用户{1-5}添加到组“allusers”。
  • 您可以对用户或组使用“文件系统配额”来限制数据量。


我正在考虑对 DATA 分区使用 ntfs 文件系统,以便在挂载期间授予权限,

仅在您有 Windows 时才使用 NTFS;否则,当它因错误而无法安装时,您可能会遇到麻烦。它可能会修复,也可能不会。不要冒险。

  • gid=allusers,umask=0022基本方法相同:挂载具有“allusers”组的分区。您可以在挂载选项中添加。

相关内容