参考:

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. DevOps之Pipeline集成junit、jacoco、SonarQube(二)

    一.准备工作 1.准备一个持续集成的代码工程 工程下载地址: Github地址为:https://github.com/zbbkeepgoing/springboot-demo 2.springboo ...

  2. CSS 按钮

    总结有关按钮的各种样式 ㈠基本按钮样式 看一下没有进行css样式设计时按钮的样子与进行样式设计的按钮样子 <!DOCTYPE html> <html> <head> ...

  3. .Net笔试考题

    .NET试题 1.列举ASP.NET页面之间传递值的几种方式 2.请写出 override 与重载的区别 3.请编程实现一个冒泡排序算法 4.什么是装箱和拆箱 5.ADO.net中常用的对象有哪些?分 ...

  4. Editplus注册码生成代码

    function generate_editplus_regcode(username) { var list = [0,49345,49537,320,49921,960,640,49729,506 ...

  5. android 支持发送空短信

    method:A) AP端修改:1.将ComposeMessageActivity.java 中的 isPreparedForSending() 作如下修改(删掉的code也可以注释掉)private ...

  6. Apicloud_(接口验证)用户注册头部信息X-APICloud-AppKey生成

    接口验证KEY生成规则说明 官方文档: 传送门 "X-APICloud-AppKey"生成规则是基于SHA1()算法生成的 AppKey= SHA1(你的应用ID + 'UZ' + ...

  7. 隐藏表单域、URL重写、cookie、session

    隐藏表单域: 隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的.当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上. 代码格式:<input t ...

  8. python学习之路(19)

    匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. 在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x) ...

  9. C++入门经典-例4.1-声明、定义和使用函数

    1:代码如下: // 4.1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  10. 有关sublime的一些使用

    习惯了vs的快捷键,用sublime的时候始终感觉不太跟手. 点击 “首选项”→“按键绑定-默认” 在新的界面中就可以更改你想要的快捷键了. 1.自动格式化对齐: 查找 "command&q ...