首页主机资讯Ubuntu HDFS如何进行权限控制

Ubuntu HDFS如何进行权限控制

时间2026-01-15 19:56:04发布访客分类主机资讯浏览896
导读:Ubuntu 上 HDFS 权限控制实践 一 核心模型与关键概念 UGO 权限模型:每个文件/目录关联所有者(user)、所属组(group)与其他(other),权限为r/w/x。对文件:r 读取、w 写入/追加;对目录:r 列目录、w...

Ubuntu 上 HDFS 权限控制实践

一 核心模型与关键概念

  • UGO 权限模型:每个文件/目录关联所有者(user)所属组(group)其他(other),权限为r/w/x。对文件:r 读取、w 写入/追加;对目录:r 列目录、w 创建/删除子项、x 进入子目录。权限检查沿路径的所有组件执行,访问任意中间目录都需要EXECUTE权限。支持粘滞位(Sticky Bit)用于共享目录(如 /tmp),仅所有者/目录所有者/超级用户可删除他人文件。HDFS 的超级用户是启动 NameNode 的进程用户;可通过 dfs.permissions.superusergroup 指定超级用户组。默认开启权限校验(dfs.permissions.enabled=true)。

二 启用与配置

  • 开启/关闭权限校验(hdfs-site.xml):
    • 开启:< property> < name> dfs.permissions.enabled< /name> < value> true< /value> < /property>
    • 关闭(仅测试):< property> < name> dfs.permissions.enabled< /name> < value> false< /value> < /property>
  • 指定超级用户组(可选,hdfs-site.xml):
    • < property> < name> dfs.permissions.superusergroup< /name> < value> supergroup< /value> < /property>
  • 新建文件/目录的默认权限由 umask 决定(core-site.xml):
    • 默认值:022。新文件权限为 0666 & ^umask(通常为 644),新目录为 0777 & ^umask(通常为 755)。可按需调整(如设为 027 以收紧组与其他权限)。

三 常用权限操作命令

  • 查看权限与属主/属组:
    • hdfs dfs -ls /path
  • 修改权限(八进制或符号):
    • hdfs dfs -chmod 750 /pathhdfs dfs -chmod u=rwx,g=rx,o= /path
  • 修改属主/属组:
    • hdfs dfs -chown alice:data /path
    • hdfs dfs -chgrp analytics /path
  • 递归与默认 ACL:
    • hdfs dfs -chmod -R 750 /data
    • hdfs dfs -setfacl -m default:user:alice:rwx /data(对 /data 下新建子项生效)
  • 粘滞位(共享目录防误删):
    • hdfs dfs -chmod +t /tmp
  • 组校验与身份查看:
    • hdfs groups alice(查看 alice 在 HDFS 侧的组映射)

四 细粒度授权与 ACL

  • 启用 ACL(hdfs-site.xml):
    • < property> < name> dfs.namenode.acls.enabled< /name> < value> true< /value> < /property>
  • 典型场景与命令示例:
    • 项目目录 /data 仅对 leaderdev 组开放读写,其他无权限:
      • hdfs dfs -setfacl -m user:leader:rwx /data
      • hdfs dfs -setfacl -m group:dev:rwx /data
      • hdfs dfs -setfacl -m other::--- /data
    • 为后续在该目录下新建的文件/子目录自动继承 ACL:
      • hdfs dfs -setfacl -m default:user:leader:rwx /data
      • hdfs dfs -setfacl -m default:group:dev:rwx /data
      • hdfs dfs -setfacl -m default:other::--- /data
  • 重要说明:
    • 在含 ACL 的文件上执行 chmod 实际修改的是 掩码(mask),会过滤命名用户/组的有效权限;如需保持扩展 ACL 效果,请同时调整 mask。
    • 权限检查顺序为:所有者 → 所属组 → 其他;对路径中所有现有目录组件需具备 EXECUTE 才能继续访问。

五 认证与组映射及安全加固

  • 身份认证模式(core-site.xml):
    • 简单模式:hadoop.security.authentication=simple(基于操作系统用户,便捷但不安全,适合测试)。
    • Kerberos:hadoop.security.authentication=kerberos(强认证,生产推荐;客户端需 kinit 获取票据)。
  • 组映射(hadoop.security.group.mapping):
    • 默认基于 NameNode 主机的本地系统组;也可接入 LDAP 等外部服务实现集中用户/组管理(如 LdapGroupsMapping)。
  • 审计与网络边界:
    • 启用 审计日志 记录访问与变更,便于合规与追踪。
    • Ubuntu 上使用 ufw 限制访问、仅放通必要端口,并配合 SSH 加固、及时补丁与最小权限原则,降低攻击面。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu HDFS如何进行权限控制
本文地址: https://pptw.com/jishu/780386.html
Ubuntu HDFS数据存储策略有哪些 ubuntu文件管理怎样实现文件同步

游客 回复需填写必要信息