自带的simple认证
参考:
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认证的更多相关文章
- (30)auth模块(django自带的用户认证模块)
Auth模块是Django自带的用户认证模块: 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的 ...
- Django自带的用户认证
1. 创建超级用户 python manage.py createsuperuser 2. 认证 校验用户名和密码 obj = auth.authenticate(request,user ...
- hadoop开启Service Level Authorization 服务级认证-SIMPLE认证-过程中遇到的坑
背景描述: 最近在进行安全扫描的时候,说hadoop存在漏洞,Hadoop 未授权访问[原理扫描],然后就参考官方文档及一些资料,在测试环境中进行了开启,中间就遇到了很多的坑,或者说自己没有想明白的问 ...
- 6月29日学习总结 Django自带的用户认证
Django自带的用户认证 我们在开发一个网站的时候,无可避免的要设计.实现网站的用户系统.此时我们需要实现包括但不限于用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. D ...
- hadoop的simple认证
目前Hadoop的稳定版本为1.2.1,我们的实验就在hadoop-1.2.1上进行 Hadoop 版本:1.2.1 OS 版本: Centos6.4 环境配置 机器名 Ip地址 功能 用户 Hado ...
- Django自带的用户认证auth模块
一.介绍 基本上在任何网站上,都无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能. 使用Django,我们可以不需要自己写这些功能,因为Dj ...
- python2.0_day18_Django自带的用户认证模块的使用
用户验证我们基于一个项目来学习利用Django框架中的user表实现用户认证Django练习小项目:学员管理系统设计开发 项目需求: 1.分讲师\学员\课程顾问角色, 2.学员可以属于多个班级,学员成 ...
- Django自带表User认证详解
认证登陆(附方法实现代码,百度网盘拉取即可下载,激活码:gqt1) 在进行用户登陆验证的时候,如果是自己写代码,就必须要先查询数据库,看用户输入的用户名是否存在于数据库中: 如果用户存在于数据库中,然 ...
- django自带的用户认证和form表单功能
一.用户认证 1.用户认证方法 1.ajango自带用户认证功能,只需要引入相应的模块就可以使用,但是前提是必须使用ajango自带的auth_user表,并且需要把用户相关信息存放在该表中. 2.引 ...
随机推荐
- 判断当前环境是ios还是安卓
/** * @name 判断iOS */ export const isiOS = ()=>{ let u = navigator.userAgent; let iOs = !!u.match( ...
- protoc 编译工具
在进行开发 protoc 之前,你需要首先在你的计算机中安装 protoc 编译工具. 下载编译工具 进入 Protocol Buffers 的源代码中然后选择发布的版本中,找到对应的版本.项目的链接 ...
- hdu 3572 仪器与任务 最大流 好题 体会建图思想
Task Schedule Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- linux环境下写C++操作mysql(二)
main.cpp #include<stdio.h> #include<stdlib.h> #include"mysqlInterface.h" int m ...
- Python3学习笔记(十):赋值语句和布尔值
一.赋值语句 1.序列解包 多个赋值同时进行: >>> x,y,z = 1, 2, 3 >>> print(x, y, z) 1 2 3 变量交换: >> ...
- BZOJ3875--骑士游戏(SPFA处理带后效性的动态规划)
3875: [Ahoi2014]骑士游戏 Time Limit: 30 Sec Memory Limit: 256 MBSubmit: 181 Solved: 91[Submit][Status] ...
- H5 video全屏与取消全屏兼容
H5 video全屏与取消全屏各浏览器兼容, requestFullscreen()全屏方法,exitFullscreen()退出全屏方法.兼容各个浏览器与css3兼容一样加个前缀即可. // 全屏 ...
- JavaWeb_Ajax通过JQuery和原生js异步传输数据
菜鸟教程 传送门 AJAX 优点:在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容 XMLHttpRequest 对象 传送门 (一) [JQuery]定时发送ajax请求 (二) ...
- 讨厌的adb占用
adb重启的方法 2018年06月13日 14:59:47 丽闪无敌 阅读数:11969 执行以下命令: D:\android-sdks\platform-tools>adb kill-se ...
- C++入门经典-例5.8-使用指针函数进行运算
1:函数指针式指向函数内存的指针,一个函数在编译时被分配给一个入口地址,这个函数的入口地址就称为函数指针.可以用一个指针变量指向函数,然后通过该指针变量调用此函数. 一个函数可以返回一个整数型值.字符 ...