我已成功安装 CentOS,并使用 Winbind 和 Samba 将其加入 Windows 2003 Active Directory 域。我们正在将我们的一个文件服务器迁移到 CentOS。我遇到的一个问题是如何分配文件共享的权限。
如果你好奇我是如何设置的,请按照这个教程操作: http://www.linuxmail.info/active-directory-integration-samba-centos-5/
举个例子,假设我们有一个名为“Shared”的共享,我们希望“Domain Users”组能够访问和写入它。现在假设我们在该共享内有一个名为“Secret”的文件夹。我们只希望“Secret Agents”组能够读取和写入该文件夹。很明显,限制对 Samba 共享子文件夹的访问要么不可能,要么很难设置,这就是我开始考虑使用 POSIX ACL 的原因。
我的第一个问题是:这是设置此设置的一个好方法吗?您的第一个想法可能是将“秘密”文件夹拆分到其自己的共享中,但由于在现实生活中,我们在共享中拥有大量具有不同权限集的子文件夹,因此为每个不同的文件夹提供自己的共享将成为一场噩梦。
我的第二个问题是:如果使用 POSIX ACL 是一种好方法,那么如果文件和文件夹被备份和恢复,ACL 会保持完整吗?如果服务器崩溃,我们将这些文件和文件夹恢复到另一台服务器,它们是否也会保持完整?
我对 POSIX ACL 了解不多。我今天才了解。所以如果您认为我应该知道任何潜在问题或“陷阱”,请也包括这些。
谢谢你的时间
答案1
我在公司文件服务器上也做过同样的事。似乎有效。唯一的缺点是 Mac 和 Linux samba 客户端似乎复制了原始文件权限。所以我不得不放一个 cron 脚本来恢复正确的权限。
顺便说一句,这样的脚本可以解决您的备份和恢复问题。主要缺点是它会覆盖用户设置的权限。
答案2
这正是我以前做过的,而且很有效,尽管有时会有点混乱。设置 ACL 时,我建议也设置目录,以便将其中的文件和子目录设置为由秘密组拥有,如果不是虚拟“秘密”用户的话。
如果在备份和恢复时备份了 ACL,则取决于您的备份软件,但一般情况下会备份,如果没有备份,则可能只是一个需要传递的标志。如果使用基于 GNU Tar 的备份(例如 Amanda),则将为 --xattrs 或 --acls,在较新版本的 Tar 中可能默认为 --xattrs 或 --acls。假设您正在另一台 GNU/Linux 服务器上进行恢复,则可以就地恢复属性,但您需要确保在新服务器上拥有相同的用户/组(最好是集中身份验证)。