hdfs acl权限

在不改变目录或文件权限的情况下,允许这个文件或目录被其他用户或组对这个用户的访问权限的更改

开启配置

hdfs-site.xml

  <property>
    <name>dfs.namenode.acls.enabled</name>
    <value>true</value>
  </property>

重启hdfs

命令:

#获取该目录的acl权限配置
hadoop dfs -getfacl /warehouse
#增加user01用户权限
hadoop fs -setfacl -m user:user01:rwx /warehouse
#删除user01用户所有权限
hadoop fs -setfacl -x user:user01 /warehouse
#增加user01组权限
hadoop fs -setfacl -m group:user01:rwx /warehouse
#删除user01组所有权限
hadoop fs -setfacl -x group:user01 /warehouse

参数:

-R: 遍历路径里的所有文件。
-b: 撤销除了基本用户和组权限以外的所有权限。
-k: 撤销默认的ACL设置。
-m: 添加新的权限来使用此ACL。不影响现有权限。
-x: 只撤销指定的ACL。
<acl_spec>: 逗号分隔的ACL权限列表。

查看目录权限,当前其他用户无任何权限并且未开启acl

[hadoop@vm05 ~]$ hadoop fs -ls /warehouse
Found 1 items
drwxrwx---  - hadoop supergroup          0 2023-02-28 16:20 /warehouse/dept
[hadoop@vm05 ~]$ hadoop dfs -getfacl /warehouse
WARNING: Use of this script to execute dfs is deprecated.
WARNING: Attempting to execute replacement "hdfs dfs" instead.

# file: /warehouse
# owner: hadoop
# group: supergroup
user::rwx
group::r-x
other::---

hive使用user01用户登录,查询dept表,提示该用户无权限

开启acl,增加user01用户对/warehouse目录下所有数据的rwx权限,权限后边有“+”符号,代表该目录已开启acl权限

hadoop fs -setfacl -R -m user:user01:rwx /warehouse
[hadoop@vm04 ~]$ hadoop fs -ls /warehouse
Found 1 items
drwxrwx---+  - hadoop supergroup          0 2023-02-28 16:20 /warehouse/dept
[hadoop@vm04 ~]$ hadoop fs -getfacl /warehouse
# file: /warehouse
# owner: hadoop
# group: supergroup
user::rwx
user:user01:rwx
group::r-x
mask::rwx
other::---

hive使用user01用户登录再次查询该表的数据,已经可以查询


hdfs acl权限
https://www.hechunyu.com/archives/1698215961093
作者
chunyu
发布于
2021年08月25日
许可协议