Cifs(samba)共享权限问题(unix + zfs)

Cifs(samba)共享权限问题(unix + zfs)

我想向我的 cifs 共享授予共享权限,但我猜 unix 只能授予文件权限,例如:

/usr/bin/chmod -R A+group@:full_set:fd:allow  pool/test  

这是不好的方法,因为我在某些共享中有几百万个文件,而这项工作花了几天时间!每次我不想设置这个目录中的每个文件。

在 Windows 端,文件或文件夹有 2 种不同的权限:
1- 文件权限。
2- 共享权限。

如果我使用共享权限,我不需要设置 chmod 目录中的每个文件或文件夹,您只需在目录顶部授予 Ro 或 Rw 共享权限,几秒钟内一切就OK了。

我可以在 Solaris 上使用共享权限吗?

答案1

是的,你可以这么做。

它们存储在每个共享的文件中,您可以在相应位置访问 ( ls) 和修改 ( chmod) 该文件(假设直接挂载映射)

/<pool>/<filesystem>/.zfs/shares/<share>

其中<pool><filesystem>是 ZFS 文件系统的安装路径,<share>是 CIFS 共享的名称。例子:

FS:   pool0/users/bob
Path: /pool0/users/bob/.zfs/shares/bobs_home

但要注意:共享权限只能针对整个共享进行设置,不能进行细分。此外,所有文件 ACL 仍然有效并将进行评估。将其视为另一扇门 - 一旦您通过“共享”安全门,您仍然必须通过“文件”安全门才能最终获得访问权限。

这取决于您的目标:

  • 如果您想在不同时间为不同的用户提供一组固定的权限,则在文件 ACL 中使用组而不是用户可能会更好。您从组中添加或删除用户,他会立即获得或失去对该组已设置的所有文件的访问权限。当然,有时您仍然需要删除或添加组本身,但很可能不会那么频繁。您保留所有粒度。

  • 如果您希望在不更改文件的情况下对数据有不同的“视图”,即使是在同一时间,共享权限可能正是您想要的。您可以创建一个或多个共享(每个共享具有不同的共享 ACL 和名称,引用相同的数据集)并快速允许/拒绝用户或组访问后面的内容。如果用户也可以本地登录,他们当然可以绕过这些权限。

相关内容