大数据平台权限之ACL

在 Hadoop 3 中,访问控制列表 (ACL) 是一种权限管理机制,用于更细粒度地控制用户对 HDFS(Hadoop Distributed File System)文件和目录的访问权限。ACL 允许你为文件和目录指定传统 Unix 权限模型之外的用户和组权限。

以下是 Hadoop 3 中 ACL 权限的详细介绍:

ACL 基本概念

  • ACL Entry (ACL 条目):每个 ACL 包含一个或多个条目,每个条目指定一个用户或组及其权限。
  • ACL 类型
    • Access ACL:控制对文件和目录的访问权限。
    • Default ACL:仅适用于目录,用于控制目录下新创建文件和子目录的默认权限。

ACL 语法

ACL 条目具有以下格式:

[ACL类型]:[用户或组]:[用户名或组名]:[权限]
  • ACL类型:可选,表示条目是 Access ACL 还是 Default ACL。省略时默认为 Access ACL。
  • 用户或组usergroup
  • 用户名或组名:具体的用户名或组名。
  • 权限:可包含以下字符的组合:
    • r:读权限。
    • w:写权限。
    • x:执行权限。

示例

假设我们有一个目录 /data,我们想设置 ACL 来控制对该目录的访问权限。

1. 查看当前 ACL

使用 getfacl 命令查看当前 ACL:

hdfs dfs -getfacl /data
2. 设置 ACL

使用 setfacl 命令设置 ACL。例如,设置用户 alice 对目录 /data 具有读写执行权限:

hdfs dfs -setfacl -m user:alice:rwx /data
3. 设置默认 ACL

设置目录 /data 的默认 ACL,这样该目录下新创建的文件和子目录将继承这些权限:

hdfs dfs -setfacl -dm user:bob:rx /data
4. 删除 ACL 条目

使用 -x 选项删除特定的 ACL 条目。例如,删除用户 alice 的 ACL 条目:

hdfs dfs -setfacl -x user:alice /data
5. 删除所有 ACL 条目

使用 -b 选项删除所有 ACL 条目,保留基本的文件权限:

hdfs dfs -setfacl -b /data
6. 删除默认 ACL 条目

使用 -k 选项删除所有默认 ACL 条目:

hdfs dfs -setfacl -k /data

完整示例

以下是一个设置和管理 ACL 的完整示例:

  1. 创建一个目录并查看其默认 ACL:

    hdfs dfs -mkdir /data hdfs dfs -getfacl /data
  2. 添加用户 alice 和组 admins 的 ACL 条目:

    hdfs dfs -setfacl -m user:alice:rwx,group:admins:r-x /data hdfs dfs -getfacl /data
  3. 设置目录的默认 ACL:

    hdfs dfs -setfacl -dm user:alice:rwx,group:admins:r-x /data hdfs dfs -getfacl /data
  4. 删除用户 alice 的 ACL 条目:

    hdfs dfs -setfacl -x user:alice /data hdfs dfs -getfacl /data
  5. 删除所有 ACL 条目:

    hdfs dfs -setfacl -b /data hdfs dfs -getfacl /data

通过以上操作,用户可以在 Hadoop 3 中更细粒度地管理 HDFS 文件和目录的权限,从而实现更加灵活和安全的访问控制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/869316.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html H5 dialog弹窗学习,实现弹窗显示内容 替代confirm、alert

html H5 dialog弹窗学习,实现弹窗内容 替代confirm 框架使用的mui,使用mui.confirm() 弹窗内容过多时,弹窗被撑的到屏幕外去了,使用H5 dialog 标签自定义一个固定大小的弹窗,内容过多时可下拉显示 效果展示 隐私政策内容很多,可以下拉显示 代码 myDialog.css dialog{p…

【Linux】【开发】Linux内核及用户态程序异常问题的查证方法

🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)🐳博客主页:花神庙码农 ,地址:https://blog.csdn.net/qxhgd🌐系列专栏:Linux技术&…

crontab定时任务不执行原因排查

Crontab定时任务不执行可能有多种原因。以下是一些常见的问题和相应的排查方法: 任务格式错误: 检查crontab文件中的每条任务是否格式正确。尤其是要检查有没有特殊字符,我用 crontab contab.txt导入任务,结果crontab -l显示 *…

PCL 点云最小外接球形包围盒

一、代码示例 #include <iostream> #include <vector> #include <cmath> #include <pcl/point_types.h> #include <pcl/io/p

【深度学习基础】MacOS PyCharm连接远程服务器

目录 一、需求描述二、建立与服务器的远程连接1. 新版Pycharm的界面有什么不同&#xff1f;2. 创建远程连接3. 建立本地项目与远程服务器项目之间的路径映射4.设置保存自动上传文件 三、设置解释器总结 写在前面&#xff0c;本人用的是Macbook Pro&#xff0c; M3 MAX处理器&am…

PointNet——源码调试(模型训练+可视化测试显示)

因为项目涉及到3D点云项目&#xff0c;故学习下PointNet这个用来处理点云的神经网络 论文的话&#xff0c;大致都看了下&#xff0c;网络结构有了一定的了解&#xff0c;本博文主要为了下载调试PointNet网络源码&#xff0c;训练和测试调通而已。 我是在Anaconda下创建一个新的…

【C++知识点总结全系列 (08)】:面向对象编程OOP

这里写目录标题 1、OOP概述(1)面向对象四大特征A.抽象B.封装C.继承D.多态 (2)构造函数A.What&#xff08;什么是构造函数&#xff09;B.Why&#xff08;构造函数的作用&#xff09;C. Which&#xff08;有哪些构造函数&#xff09; (3)析构函数A.What&#xff08;什么是析构函数…

【YOLOv8系列】(一)YOLOv8介绍:实时目标检测的最新突破

目录 引言 背景与发展历程 YOLOv8架构设计 1. 改进的特征提取网络 2. 多尺度特征融合 3. 新的激活函数 4. Attention机制 模型训练与优化 性能评估 应用案例 目标检测 图像分割 图像分类 姿势估计 旋转框检测&#xff08;OBB&#xff09; 优势与挑战 优势&…

git 基础场景操作

git基于当前分支创建分支&#xff0c;合并分支 git checkout -b new-batch git push origin new-batch git branch --set-upstream-toorigin/new-batch git pull git checkout master git merge origin new-batch git 开发分支合并 描述&#xff1a; git 我有 develop …

SAP PS学习笔记03 - 批量更改Project(CNMASS),批量创建Project(CNMASSCREATE)

上一章讲了网络&#xff08;Network&#xff09;&#xff0c;活动&#xff08;Activity&#xff09;&#xff0c;PS长文本&#xff0c; PS文书&#xff08;凭证&#xff09;&#xff0c;里程碑&#xff08;Milestone&#xff09;的创建等相关知识。 SAP PS学习笔记02 - 网络&a…

中西部公关新篇章:赛氪网赋能新质生产力赛事,引领行业潮流

2024年7月7日&#xff0c;武汉光谷盛况空前&#xff0c;中西部公共关系协会共同体多边合作平台&#xff08;以下简称“共同体”&#xff09;举办了2024年度中西部公关协会会长、秘书长专题交流会&#xff0c;本次会议主题为“加快新质生产力&#xff0c;推进公关行业新格局&…

C++17 filesystem 库 学习笔记

C17 filesystem 库 学习笔记 Filesystem library1、类2、非成员函数2.1、std::filesystem::absolute2.2、std::filesystem::canonical, std::filesystem::weakly_canonical2.3、std::filesystem::relative, std::filesystem::proximate2.4、std::filesystem::copy2.5、std::fil…

思维+数学,CF 1138B - Circus

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1138B - Circus 二、解题报告 1、思路分析 设第一组会小丑和杂技的人数分别为x1, y1 第二组会小丑和杂技的人数分别为x2, y2 显然根据要求有&#xff1a; x1 y2 > x1 x2 x2 y2 上式说明第二组每…

213.贪心算法:跳跃游戏||(力扣)

class Solution { public:int jump(vector<int>& nums) {if (nums.size() 1) return 0; // 如果数组长度为1&#xff0c;已经在终点&#xff0c;不需要跳跃int cur 0; // 当前跳跃能到达的最远位置int flag 0; // 记录跳跃次数int next 0; // 下一次跳跃能到…

0302GPIO外设输入功能

GPIO外设输入功能 输入部分硬件电路按键简介传感器模块简介按键和传感器模块的硬件电路 C语言的学习C语言数据类型宏定义typedef结构体枚举C语言知识总结 按键控制LED灯&光敏传感器蜂鸣器GPIO总结GPIO使用方法总结模块化编程的方法&#xff1a; 两个程序&#xff1a;按键控…

PostgreSQL 里怎样解决多租户数据隔离的性能问题?

文章目录 一、多租户数据隔离的性能问题分析&#xff08;一&#xff09;大规模数据存储和查询&#xff08;二&#xff09;并发访问和锁争用&#xff08;三&#xff09;索引维护成本高&#xff08;四&#xff09;资源分配不均 二、解决方案&#xff08;一&#xff09;数据分区&a…

(C++哈希02) 四数相加 赎金信

454、四数相加II 用两个for循环记录前两个数组元素两两之间的和&#xff0c;再用两个for循环记录后两个数组元素两两之间的和&#xff0c;四数相加就简化为两数相加&#xff0c;用map来查找结果 class Solution { public:int fourSumCount(vector<int>& nums1, vec…

计算理论复习

1.Turing Machine 确定性图灵机 图灵机有很多不同的定义&#xff0c;这里选取其中一种&#xff0c;其它定义下的图灵机往往与下面这种定义的图灵机计算能力等价。 图灵机是一个在一条可双向无限延伸且被划分为若干格子的纸带上进行操作的机器&#xff0c;其有内部状态&#…

Springboot项目实训--day2

今天学习的是idea和MySQL的连接&#xff0c;以及一些基本的增删改查的功能实现。 一、软件下载 昨天下载了idea&#xff0c;今天要是西安它们的连接&#xff0c;就需要再下载MySQL&#xff0c;我的MySQL是前面几个学期别人帮忙下载的&#xff0c;所以具体的操作步骤我也不清楚…

基于Java+SpringMvc+Vue技术的智慧校园系统设计与实现

博主介绍&#xff1a;硕士研究生&#xff0c;专注于信息化技术领域开发与管理&#xff0c;会使用java、标准c/c等开发语言&#xff0c;以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年&#xff0c;拥有近12年的管理工作经验&#xff0c;拥有较丰富的技术架…