使用 umask 与 setgid:在 Linux 用户组中和平共享目录的最佳实践?

使用 umask 与 setgid:在 Linux 用户组中和平共享目录的最佳实践?

在多个 Linux 用户之间共享目录的最佳方式是什么?假设我有一个目录/foo(一个常规目录,没有 NFS 或其他),并且将一堆用户添加到组中bar

我想要的是这种行为:

  1. 所有用户都bar可以读/写文件和目录/foo
  2. 中创建的任何文件和目录/foo都可以由中的所有用户自动读取/写入bar

我不确定执行此操作的最佳方法是什么:

  1. 我可以将 的组/foo及其初始内容设置在bar组中,chown -R :bar并使用 对其设置 setgid chmod -R g+s。我将 umask 保留为默认值 (02)。对文件设置 gid 也可能会产生奇怪的副作用(libmagic 文件类型的前缀为setgid,使用它的应用程序,结果不可预测)。

  2. 或者我为所有用户将 umask 设置为其他值(例如 03 或 07),但我不确定如果不使用 setgid 位,是否可以进行正确的共享。

我的问题:可靠地实现此文件共享设置的最佳、最干净和惯用的方法是什么?

PS:我在标题“和平共享目录”中写的是半开玩笑的意思,我的意思是可靠且一致。我想我从来都无法可靠地实现这种共享,而不会弹出恶意文件,并且无法通过我可以尝试的任何设置来访问该组。

相关内容