我的磁盘中安装了许多 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”组的分区。您可以在挂载选项中添加。