PowerScale:OneFS:OneFS 中的遍历检查及其实施方法
Summary: 什么是遍历检查,它是如何工作的,以及如何在 OneFS 中强制执行它?
Instructions
遍历检查
默认情况下,在 OneFS 中,路径遍历的以下各项是正确的:
- 如果目录上存在 ACL,则授予遍历权限(绕过遍历检查),
- “遍历”权限允许路径遍历。这使用户无需“执行”权限即可进行导航。
- “遍历”权限不同于“执行”权限,并且仅存在于 ACL 中
- 如果不存在 ACL(合成/POSIX),则需要显式执行权限。
- 这意味着移动到特定路径的功能需要对父目录的最小“执行”权限,因此可以允许遍历。
绕过遍历检查
在 Microsoft Windows 环境中,有一个名为“绕过遍历检查”的 GPO,它允许用户访问目录路径(\\服务器\根\文件夹\路径)。这是“绕过”中间路径进行“遍历检查”的地方(验证已授予遍历/执行权限)。
OneFS 不强制执行 Active Directory 中规定的 Microsoft GPO,而是通过存在 NTFS ACL 来实施“绕过遍历检查”。
如何禁用“绕过遍历检查”/如何强制实施遍历检查:
某些用户可能希望禁用“绕过遍历检查”,以便强制检查每个中间目录的遍历权限。当未明确授予权限时,这将强制执行“拒绝访问”。此更改不能轻易完成,因为它是全局配置,并且会影响访问群集的所有客户端。
从 8.2 和之后的代码版本开始,添加了通过 UI/CLI 界面更改行为的功能。请参阅此处的代码级别的管理指南:PowerScale OneFS 手册和文档
Additional Information
如果希望在群集上使用 SMB 或 NFSv4 协议,则可能需要特定权限,以便在通向相关共享或导出的所有父路径上实现此操作。群集的管理员应确保在启用和实施客户端访问协议之前相应地设置权限。否则,可能会导致客户端无法访问共享或导出。NFSv3 不要求这样做。
OneFS 对 NTFS 样式 ACL 的权限(仅限目录):
- traverse - 遍历目录的权限。在 Windows 中,这将是FILE_TRAVERSE权限。
- dir_gen_execute - 这包括遍历、std_read_dac和std_synchronize权限。
与上述等效的 POSIX 样式是目录权限的模式位中的执行权限(视为“x”)。
请参阅下面的示例,其中“x”表示所有者 (root) 和其他人 (everyone) 的执行权限。
# ls -led /ifs/data/test1
drwx-----x 2 root wheel 0 Apr 28 18:09 /ifs/data/test1
OWNER: user:root
GROUP: group:wheel
SYNTHETIC ACL
0: user:root allow dir_gen_read,dir_gen_write,dir_gen_execute,std_write_dac,delete_child
1: group:wheel allow std_read_dac,std_synchronize,dir_read_attr
2: everyone allow dir_gen_execute,dir_read_attr
有关权限和身份验证的详细信息,请参阅以下白皮书:Dell PowerScale OneFS:身份验证、身份管理和授权