HDFS是一个面向多用户的分布式文件系统。既然是多用户,那么不同用户存储的文件通常需要进行权限隔离,防止被其他用户修改或误删。本文就来聊聊HDFS中的权限管理。
权限校验
要启用权限校验,首先需要在NN中配置开启。
配置项dfs.permissions.enabled控制权限的开关,true表示开启,false表示关闭。
没有开启权限控制时,任何用户都可以对任意文件进行读写删除等操作。
<property>
<name>dfs.permissions.enabled</name>
<value>true</value>
</property>
HDFS中的权限方式和linux文件系统中的权限模型是一样的,均采用UGO模型。
U表示User,G表示Group,O表示Other。每个文件的权限都基于UGO来设置。
而权限又包括可读(r),可写(w),可执行(x),三个为一组,对应UGO分别进行设置。
我们来实际验证下:使用hncscwc用户创建/hncscwc目录,并上传文件到该目录中,然后使用root用户删除该文件。
未开启权限校验之前,root用户可以成功删除文件。