hadoop 分布式⽂件系统的普通⽤户权限管理
普通⽤户访问hadoop ⽂件管理系统
如果分布式⽂件系统的安装⽤户是root的话,那么,对于⼀个普通⽤户来说,是不能对hdfs的⽂件⽬录进⾏读写操作。
linux操作系统:cent OS 6
普通⽤户使⽤命令
这样的命令就会报错:
那么如何去做可以实现让普通⽤户操作hadoop分布式⽂件管理系统?
最简单的⽅法:使⽤上述的命令,那么hadoop⽂件管理系统上⾯的⽂件夹的权限是drwx rwx rwx ,⽂件的权限是rwx rwx rwx 那么普通⽤户就可以成功的访问hdfs了,可以执⾏写⼊hadoop 分布式⽂件系统。
但是这样的话,所有的普通⽤户都能访问hdfs,然后我就在想,能不能精确的划分⽤户的权限呢?⽐如这个⽬录我只允许⼀部分⽤户具有访问权限,其它的同类型⽤户没有访问权限。
hadoop安装详细步骤linux
那么我⽬前有⼀个这样的做法:
root权限下:
在hadoop 分布式⽂件系统上创建⼀个⽬录/jack
这个⽬录在hdfs上的所属⽤户是root
这个⽬录在hdfs上所属的⽤户组是superGroup
创建⼀个普通⽤户jack
切换到普通⽤户jack
jack⽤户尝试创建⽂件夹
那么如果这样做
再次操作hadoop fs -mkdir /normal
1permisson denined user='yourusername',access= xxxx,inode = 'xxxxx'.. //这类的报错信息1hadoop  fs -chmod -R 777 /1hadoop fs -mkdir /jack 1useradd jack 1su jack
1hadoop fs -mkdir /jack/mydirectory  //会报错
1su root hadoop fs  -chown -R jack:jack /jack usermod -a -G jack jack
1
23su jack hadoop fs -mkdir /jack/mydirectory
1
2
嗯,这样就OK了
创建其他⽤户
这样就会报错了,权限不⾜
以上就是我对hadoop⽂件系统分配⽤户权限的操作
后续
但是我在hdfs中的/user/hive的相关权限控制的时候,却发现在使⽤hive的时候必须要给其他⽤户写⼊操作,也就是说,所有⽤户都能对hive的数据进⾏写⼊操作。所以,意思就是jack创建的hive表可以被tom删除。。。
所以如果有更好的⽅法,或是我的这个做法有什么问题的话,感谢在⽂章末尾留⾔。谢谢!共同学习,共同进步!su root useradd tom su tom hadoop fs -mkdir /jack/tom
1
2
3
4

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。