参考:

hdfs权限: 官网
http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_permissions_guide.html

hdfs权限:

http://dyingbleed.com/hdfs-7/   GG

开启和关闭检查两个地方:

1/ 认证方式

2/ 勾选即开启,去掉即关闭

开启之后,不在supergroup的用户是没法访问hdfs:

https://www.cnblogs.com/silgogo/p/10677752.html

[root@manager ~]# groupadd supergroup
[root@manager ~]# usermod -a -G supergroup feng.feng
[root@manager ~]# su - hdfs -s /bin/bash -c "hdfs dfsadmin -refreshUserToGroupsMappings"
Refresh user to groups mapping successful

查看用户所在组:
groups xx
[root@zhep-opay-temp-1 ~]# groups root
root : root supergroup

深入测试:

除hdfs用户,其它用户只有查看和在/tmp下写入的权限.

在root帐号下执行:
sudo -u hdfs 命令 #用超级用户来执行命令
如:
#在除tmp外的hdfs目录上传文件
sudo -u hdfs hdfs dfs -put 1.txt /
#或者改目录的属主:
sudo -u hdfs hdfs dfs -chown dev3:supergroup /user
sudo -u hdfs hdfs dfs -chown hdfs:supergroup /user

drwxr-x--- hdfs supergroup
第一位d 说明 /data 是一个目录
第二至四位rwx说明 hdfs 用户有 /data 目录的读(R)、写(W)、执行(X)权限
第五至七位r-x说明 supergroup组用户有/data目录的读(R)和执行(X)权限
第八至十位---说明其它人没有任何权限

1/ 修改文件或目录 owner,执行命令
sudo -u hdfs hadoop fs -chown -R root /test
hadoop fs -chown dyingbleed /data/users.csv

2/ 修改文件或目录 group,执行命令:
hadoop fs -chgrp -R dev /data
hadoop fs -chgrp dev /data/users.csv
3/ 修改文件或目录权限,执行命令:
sudo -u hdfs hadoop fs -chmod -R 774 /test
hadoop fs -chmod 777 /data/users.csv

r: 对应数值4
w: 对应数值2
x:对应数值1
-:对应数值0
rwx r-x r- - :754
rwx rwx r- - :774
rwx rwx rwx :777

3/ 改变文件或目录的组
chgrp staff /u             #Change the group of /u to "staff".
chgrp -hR staff /u      #Change the group of /u and subfiles to "staff"

1/ 给目录/test赋权,只能supergroup组的用户能读写
#根下建一个test目录
sudo -u hdfs hdfs dfs -mkdir /data
sudo -u hdfs hdfs dfs -touch /data/1.txt
#给/test授予supergroup的权限
sudo -u hdfs hadoop fs -chmod -R 774 /data

但不生效,需要赋予777在supergroup的用户才可以写.
跟映射方式有关系
通过身份认证之后,如何知晓用户所属的组呢?HDFS 提供了三种组映射机制:
基于 JNI 的组映射: org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback
基于 Shell 的组映射:org.apache.hadoop.security.ShellBasedUnixGroupsMapping
基于 LDAP 的组映射:org.apache.hadoop.security.LdapGroupsMapping

ACL
编辑配置文件 hfds-site.xml 文件:

<configuration>
<name>dfs.namenode.acls.enabled</name>
<value>true</value>
</configuration>
重启集群使得配置生效。

获取文件和目录 ACL,执行命令:

hadoop fs -getfacl /data
显示:

# file: /data
# owner: hdfs
# group: supergroup
user::rwx
group::r-x
mask::rwx
other::---
为 dev 组增加读、写、执行权限,执行命令:

hadoop fs -setfacl -R -m group:dev:rwx /data
移除 dev 组权限,执行命令:

hadoop fs -setfacl -R -x group:dev /data

自带的simple认证的更多相关文章

  1. (30)auth模块(django自带的用户认证模块)

    Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的 ...

  2. Django自带的用户认证

    1. 创建超级用户   python manage.py createsuperuser   2. 认证  校验用户名和密码  obj = auth.authenticate(request,user ...

  3. hadoop开启Service Level Authorization 服务级认证-SIMPLE认证-过程中遇到的坑

    背景描述: 最近在进行安全扫描的时候,说hadoop存在漏洞,Hadoop 未授权访问[原理扫描],然后就参考官方文档及一些资料,在测试环境中进行了开启,中间就遇到了很多的坑,或者说自己没有想明白的问 ...

  4. 6月29日学习总结 Django自带的用户认证

    Django自带的用户认证 我们在开发一个网站的时候,无可避免的要设计.实现网站的用户系统.此时我们需要实现包括但不限于用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. D ...

  5. hadoop的simple认证

    目前Hadoop的稳定版本为1.2.1,我们的实验就在hadoop-1.2.1上进行 Hadoop 版本:1.2.1 OS 版本: Centos6.4 环境配置 机器名 Ip地址 功能 用户 Hado ...

  6. Django自带的用户认证auth模块

    一.介绍 基本上在任何网站上,都无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能. 使用Django,我们可以不需要自己写这些功能,因为Dj ...

  7. python2.0_day18_Django自带的用户认证模块的使用

    用户验证我们基于一个项目来学习利用Django框架中的user表实现用户认证Django练习小项目:学员管理系统设计开发 项目需求: 1.分讲师\学员\课程顾问角色, 2.学员可以属于多个班级,学员成 ...

  8. Django自带表User认证详解

    认证登陆(附方法实现代码,百度网盘拉取即可下载,激活码:gqt1) 在进行用户登陆验证的时候,如果是自己写代码,就必须要先查询数据库,看用户输入的用户名是否存在于数据库中: 如果用户存在于数据库中,然 ...

  9. django自带的用户认证和form表单功能

    一.用户认证 1.用户认证方法 1.ajango自带用户认证功能,只需要引入相应的模块就可以使用,但是前提是必须使用ajango自带的auth_user表,并且需要把用户相关信息存放在该表中. 2.引 ...

随机推荐

  1. 本机的IP地址无法打开(Vue项目)

    1, 首先找到使用vue脚手架建立项目config文件中的index.js文件2, 修改dev里面的host属性值:改成 host: ‘0.0.0.0’3, 最后在局域网下,使用自己的ip进行连接,同 ...

  2. iOS-修改TableView分割线样式

    实现代码:  myTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; 有三种样式: UITableViewCellS ...

  3. django第一个页面

    在工程创建完毕的基础上,创建两个目录,static;templates static 里面放一些静态文件,例如css,imj,js等文件 templates 放html文件,需要在settings.p ...

  4. JS 跳转后保持当前参数

    跳转 var data = str+"&jc=0"+ "&data=" + $("form").serialize().re ...

  5. Java多线程和并发(九),ReentrantLock(公平锁)

    目录 1.ReentrantLock 2.ReentrantLock的实现 3.synchronized和ReentrantLock的区别 九.ReentrantLock(公平锁) 1.Reentra ...

  6. 【LOJ3156】「NOI2019」回家路线

    [题目链接] [点击打开链接] [题目概括] 现在有\(n\)个站点,\(m\)条火车路线,每一条货车路线都有一个起点站点.终点站点.开始时间和到站时间. 对于一直在起点\(1\)的人,终点是\(n\ ...

  7. 【POJ1011】Sticks

    [题目概括] 现在有\(n\)个长度不超过\(50\)的木棍,请你把这些小木棍拼成若干根长度相同的木棍. 请你最小化拼成后的长度. [思路要点] 考虑枚举最后的长度,然后判断是否可以,这样就不需要最优 ...

  8. python3.6+selnium3+IE11问题及解决方法

    环境:python3.6+selnium3+IE11+win7 一.输入框输入字符很慢,大概5秒输入一个字符 解决方法:把IEDriverServer.exe替换成32位的 二.用例异常后不继续执行剩 ...

  9. Android Studio基本使用

    1.    创建Android项目 1)    Application name:应用名称,launcher界面显示的 2)    Company Domain:公司域名(sprd.com) 3)   ...

  10. Struts2拦截器和过滤器的区别?

    ①过滤器依赖于Servlet容器,而拦截器不依赖于Servlet容器. ②Struts2 拦截器只能对Action请求起作用,而过滤器则可以对几乎所 有请求起作用. ③拦截器可以访问 Action上下 ...