DIY 家庭 NAS 的 Linux 用户和组权限策略

DIY 家庭 NAS 的 Linux 用户和组权限策略

我对 Linux 还很陌生,但我已经设法构建了自己的 DIY NAS(Odroid CS2、Ubuntu 18.04),设置了 Samba、SSH 等,现在处于访问和文件夹管理阶段。

我确实了解什么chown以及chmod一般的做法,但我缺少在多用户环境中管理权限的典型策略。

情况:
我是家里负责技术事务的人,其他家庭成员在安全方面都很粗心,但他们也不会听从我的改进建议(但是,如果遇到任何麻烦,他们会寻求帮助)。

因此,我不太介意他们在自己的 Windows 计算机上做什么,但是我想帮助他们在我们的 NAS 上安全地存储和共享他们的文件。

NAS 上当前有一个主文件夹:

/secure/usr/包含几个子文件夹: /01_monika /02_rebecca /03_hans /04_alfred /05_share

每个用户都有一个同名的Linux用户和Samba用户(例如monika,rebecca,hans,alfred)并且有一个组(例如samba_users)。

问题:
我希望所有用户都将文件存储在自己的用户目录中,但只有部分子文件夹(如 /photos)应可供其他用户访问(具有读取权限)。理想情况下,所有其他文件夹/文件都应对其他家庭成员隐藏,或至少不可访问。

示例:由于家庭成员的计算机可能受到病毒和木马的攻击,默认情况下任何人都不能读取其他用户的私人文件,例如/02_rebecca/documents用户 hans 无法访问。但是,/02_rebecca/photos/仍然应该具有读取权限,因为家庭成员经常需要共享他们的照片,理想情况下我不希望他们将所有共享文件单独存储在 中/05_share

感谢您的任何建议!

补充想法:

  • 符号链接是否可以绕过父目录权限,例如,当父目录的权限不允许读取时,允许samba_users访问子文件夹?我读到过,符号链接在 Windows 中不起作用,但 Microsoft/photos//hans/photos/另有说明

  • 我知道我可以为每个用户创建子文件夹(例如)/01_monika/private//01_monika/shared/。但我想避免这种情况,因为我的一些家庭成员会感到困惑,把所有东西都放在/shared

答案1

我找到了一种方法,正如所解释的那样这里来自用户@Gilles:

拥有目录的读取或写入权限而没有执行权限是没有用的。拥有执行权限但没有读取权限有时很有用:只有知道文件的确切名称时才允许访问文件,这是一种原始的密码保护。

这意味着,设置执行位但不允许对用户目录进行读取(rwx--x---)。然后,在子文件夹上/photos/,允许组进行读取和执行权限familyrwxr-x---)。

这意味着正常情况下,用户目录不能被所有家庭成员直接打开,但知道有一个子文件夹/01_monika/photos/,用户可以直接打开这个特定的文件夹。然后我只需要在人们的桌面上,或者在 NAS 上的某个主文件夹中创建这些子文件夹的快捷方式。

我知道这是可能的,这正是我所需要的!

相关内容