hadoop分布式文件系统的普通用户权限管理

普通用户访问hadoop文件管理系统

如果分布式文件系统的安装用户是root的话,那么,对于一个普通用户来说,是不能对hdfs的文件目录进行读写操作。

linux操作系统:cent OS 6

普通用户使用命令

hadoop fs -mkdir /normal

这样的命令就会报错:

permisson denined user='yourusername',access= xxxx,inode = 'xxxxx'.. //这类的报错信息

那么如何去做可以实现让普通用户操作hadoop分布式文件管理系统?
最简单的方法:

hadoop  fs -chmod -R 777 /

使用上述的命令,那么hadoop文件管理系统上面的文件夹的权限是drwx rwx rwx,文件的权限是rwx rwx rwx那么普通用户就可以成功的访问hdfs了,可以执行写入hadoop 分布式文件系统。

但是这样的话,所有的普通用户都能访问hdfs,然后我就在想,能不能精确的划分用户的权限呢?比如这个目录我只允许一部分用户具有访问权限,其它的同类型用户没有访问权限。
那么我目前有一个这样的做法:
root权限下:
在hadoop 分布式文件系统上创建一个目录/jack

hadoop fs -mkdir /jack

这个目录在hdfs上的所属用户是root
这个目录在hdfs上所属的用户组是superGroup

创建一个普通用户jack

useradd jack

切换到普通用户jack

su jack

jack用户尝试创建文件夹

hadoop fs -mkdir /jack/mydirectory  //会报错

那么如果这样做

su root
hadoop fs  -chown -R jack:jack /jack
usermod -a -G jack jack

再次操作

su jack
hadoop fs -mkdir /jack/mydirectory

嗯,这样就OK了

创建其他用户

su root
useradd tom
su tom
hadoop fs -mkdir /jack/tom

这样就会报错了,权限不足
以上就是我对hadoop文件系统分配用户权限的操作


后续

但是我在hdfs中的/user/hive的相关权限控制的时候,却发现在使用hive的时候必须要给其他用户写入操作,也就是说,所有用户都能对hive的数据进行写入操作。所以,意思就是jack创建的hive表可以被tom删除。。。

所以如果有更好的方法,或是我的这个做法有什么问题的话,感谢在文章末尾留言。谢谢!共同学习,共同进步!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值