kerberos 的 HDFS 授权
在 KDC 上创建两个测试用的用户 webb 和 webb2:
$ kadmin.local -q "addprinc webb" (添加主体webb)
Enter password for principal "webb@AMBARI.APACHE.ORG": (输入两次密码)
$ kadmin.local -q "addprinc webb2" (添加主体webb2)
Enter password for principal "webb@AMBARI.APACHE.ORG": (输入两次密码)
下面分别用 webb 和 webb2 登录,并创建目录:
$ kinit webb (登录使用kerberos客户端的kinit命令)
Password for webb3@AMBARI.APACHE.ORG: (输入主体webb的密码)
$ klist (klist显示当前登录的用户是webb)
Default principal: webb@AMBARI.APACHE.ORG
Valid starting Expires Service principal
05/05/2017 00:43:28 05/05/2017 10:43:28 krbtgt/AMBARI.APACHE.ORG@AMBARI.APACHE.ORG
renew until 05/12/2017 00:43:25
$ hdfs dfs -mkdir /tmp/webb (用webb用户在HDFS上创建/tmp/webb目录)
$ kinit webb2 (切换为webb2登录,会提示输入密码)
$ hdfs dfs -mkdir /tmp/webb2 (用webb2用户在HDFS上创建/tmp/webb2目录)
$ hdfs dfs -ls /tmp (显示HDFS中/tmp目录下的内容)
Found 17 items
...(省略)
drwxr-xr-x - webb hdfs 0 2017-05-04 11:33 /tmp/webb
drwxr-xr-x - webb2 hdfs 0 2017-05-04 11:36 /tmp/webb2
通过上面的文件列表可以看到新创建的两个目录的拥有者(owner)分别是webb和webb2。
HDFS采用与POSIX兼容的文件系统通用的授权方案。权限由三个不同类别的用户管理:拥有者,组和其他人。读取,写入和执行权限可以独立授予每个类。
(当前用户是webb2)修改一下/tmp/webb2的文件权限:
$ hdfs dfs -chmod 700 /tmp/webb2 (只有文件拥有者可以改权限)
$ hdfs dfs -ls /tmp
Found 17 items
...(省略)
drwxr-xr-x - webb hdfs 0 2017-05-04 11:33 /tmp/webb
drwx------ - webb2 hdfs 0 2017-05-04 11:36 /tmp/webb2
当修改成700权限后,只有文件拥有者可以修改和查看,其他用户都没有了权限。可以切换成webb用户测试一下:
$ kinit webb (输入密码)
$ hdfs dfs -ls /tmp/webb2
...(略)
ls: Permission denied: user=webb, access=READ_EXECUTE, inode="/tmp/webb2":webb2:hdfs:drwx------
如果每个租户的HDFS目录权限都默认设定为700,则只有租户自己可以查看和存取目录下的文件。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论