参考:

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. Hibernate 缓存机制详细分析

    在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别).二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题. 随笔虽长,但我相 ...

  2. 【Winfrom-适配窗体】 WinForm窗体及其控件的自适应,控件随着窗体变化

    在Winform中,窗体最大化之后,控件仍然保持原来的大小,就会显得不好看,那么有什么办法让控件跟着窗体变化吗? 在需要自适应的Form中代码如下:(AutoSizeFormClass.cs源码在下方 ...

  3. SEO搜索引擎优化是什么?

    ㈠什么是SEO? 搜索引擎优化,又称为SEO,即Search Engine Optimization,它是一种通过分析搜索引擎的排名规律,了解各种搜索引擎怎样进行搜索.怎样抓取互联网页面.怎样确定特定 ...

  4. head first 设计模式笔记7-适配器模式与外观模式

    适配器模式:将一个类的接口,转换成客户期望的另一个接口.适配器让原本接口不兼容的类可以合作无间. 这个模式可以通过创建适配器进行接口转换,让不兼容的接口变成兼容.这可以让客户从实现的接口解耦.如果在一 ...

  5. C# socket异步 服务端

    转自:  http://blog.csdn.net/qq_20282263/article/details/54310737 private Dictionary<string, Session ...

  6. 「TJOI2019」唱、跳、rap 和篮球

    题目链接 题目分析 据说这是一道生成函数题 看到限制条件,我们首先想到的就是对有多少组讨论cxk的人进行容斥.然后就是求剩下的人随便放有多少种方法了.考虑现在每种剩\(a,b,c,d\)人,还需要排\ ...

  7. maven jdbc 驱动安装

    https://mvnrepository.com/ 搜索  : com.microsoft.sqlserver 点击进入: https://mvnrepository.com/artifact/co ...

  8. java 手机号/身份证(*)加密隐藏中间某几位几位

    //手机号 保留前3 后4 String phone = "18771632488"; System.out.println(phone.replaceAll("(\\d ...

  9. 如何使用git工具

    首先需要下载安坐git工具 地址如下:https://git-scm.com/downloads 安装完毕之后,就可以进入提供的命令行窗口 然后就可以使用了,比如:想从 github 克隆项目下来 g ...

  10. 文件和Stream

    I/O和文件 输入/输出(I/O)就是在内存和外部设备之间复制数据的过程.输入(input)就是从I/O设备复制数据到内存,输出(output)就是从内存复制数据到I/O设备. 一个文件可以理解成一串 ...