更新时间:2025-08-14 GMT+08:00

配置HDFS用户访问HDFS文件权限

配置HDFS目录权限

默认情况下,某些HDFS的文件目录权限为777或者750,存在安全风险。建议您在客户端安装完成后修改对应HDFS目录的权限,增加用户的安全性。

  1. 安装客户端,如果已安装则跳过。

    例如安装目录为“/opt/client”,以下操作的客户端目录只是举例,请根据实际安装目录修改。

    下载并安装集群客户端的具体操作,请参考安装MRS集群客户端

  2. 以客户端安装用户,登录安装客户端的节点。
  3. 执行以下命令,切换到客户端安装目录,例如“/opt/client”。

    cd /opt/client

  4. 执行以下命令配置环境变量。

    source bigdata_env

  5. 如果集群已启用Kerberos认证(安全模式),则执行以下命令进行用户认证。普通模式集群无需执行该命令。

    kinit 组件业务用户

  6. 如果集群未启用Kerberos认证(普通模式),且当前登录用户不为omm,则执行以下命令认证用户。

    export HADOOP_USER_NAME=omm

  7. 执行如下命令,修改“/user”的目录权限。

    此处将权限修改为“1777”,即在权限处增加“1”,表示增加目录的粘性,即该目录下的文件和文件夹,只有其所有者或者具备root权限的用户才能进行删除或重命名操作。

    hdfs dfs -chmod 1777 /user
    为了系统文件的安全,建议用户将非临时目录进行安全加固,例如:
    • /user:777
    • /mr-history:777
    • /mr-history/tmp:777
    • /mr-history/done:777
    • /user/mapred:755

配置HDFS文件和目录的权限

HDFS支持用户进行文件和目录默认权限的修改。HDFS默认用户创建文件和目录的权限的掩码为“022”,如果默认权限满足不了用户的需求,可以通过配置项进行默认权限的修改。

  1. 登录FusionInsight Manager。

    登录集群Manager具体操作,请参考访问MRS集群Manager

  2. 选择“集群 > 服务 > HDFS > 配置 > 全部配置”。
  3. 根据实际需要搜索并修改表1相关参数。

    表1 参数说明

    参数

    描述

    默认值

    fs.permissions.umask-mode

    当客户端在HDFS上创建文件和目录时使用此umask值(用户掩码)。类似于linux上的文件权限掩码。

    • 可以使用八进制数字也可以使用符号,例如:“022” (八进制,等同于以符号表示的u=rwx,g=r-x,o=r-x),或者“u=rwx,g=rwx,o=”(符号法,等同于八进制的“007”)。
    • 八进制的掩码,和实际权限设置值正好相反,建议使用符号表示法,描述更清晰。

    022

  4. 修改完成后单击“保存”,确认操作影响后单击“确定”。
  5. 等待操作成功后,单击“完成”,配置已修改。

    查看集群是否存在配置过期的实例,如果存在,需重启配置过期的实例使配置生效。