温馨提示×

linux hdfs怎么修改权限

小樊
48
2026-09-04 16:25:37
栏目: 智能运维

在 Linux 环境下操作 HDFS(Hadoop Distributed File System) 修改权限,一般使用 Hadoop 自带的命令行工具。下面按常见场景给你总结一下。


一、修改 HDFS 文件/目录权限(类似 Linux chmod)

1️⃣ 使用 hdfs dfs -chmod

hdfs dfs -chmod 755 /user/hadoop/testdir

递归修改:

hdfs dfs -chmod -R 755 /user/hadoop/testdir

示例:

hdfs dfs -chmod 644 /data/file.txt

权限含义和 Linux 一样:

  • 7 = rwx
  • 6 = rw-
  • 5 = r-x
  • 4 = r–

二、修改 HDFS 属主和属组(类似 Linux chown)

2️⃣ 使用 hdfs dfs -chown

hdfs dfs -chown hadoop:hadoop /user/hadoop/testdir

递归修改:

hdfs dfs -chown -R hadoop:hadoop /user/hadoop/testdir

只改属主:

hdfs dfs -chown hadoop /user/hadoop/testdir

只改属组:

hdfs dfs -chgrp hadoop /user/hadoop/testdir

三、修改 ACL 权限(更细粒度)

HDFS 支持 ACL(类似 Linux ACL)

3️⃣ 设置 ACL

hdfs dfs -setfacl -m user:alice:rwx /data/test

查看 ACL

hdfs dfs -getfacl /data/test

删除 ACL

hdfs dfs -setfacl -x user:alice /data/test

四、查看 HDFS 权限

hdfs dfs -ls /user/hadoop

输出示例:

drwxr-xr-x   - hadoop hadoop          0 2025-01-01 10:00 testdir

五、注意事项(很重要)

  1. 默认只有超级用户(如 hdfs)能改别人文件

    sudo -u hdfs hdfs dfs -chmod 777 /data
    
  2. HDFS 权限默认是开启的
    dfs.permissions.enabled=true 控制

  3. HDFS 权限 ≠ Linux 文件系统权限
    只是“逻辑权限”,不控制磁盘文件


六、常见错误

❌ Permission denied
✅ 用 hdfs 用户或文件 owner 执行

❌ 命令不存在
✅ 确认 HADOOP_HOME/bin 在 PATH 中


如果你说的是:

  • 修改 HDFS 服务本身目录权限
  • 用 Java / Python 改
  • Kerberos 环境下操作

可以告诉我具体场景,我可以给你更针对性的命令。

0