前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安全知识&kerberos初识

安全知识&kerberos初识

作者头像
小爷毛毛_卓寿杰
发布2019-02-13 11:50:11
9770
发布2019-02-13 11:50:11
举报
文章被收录于专栏:Soul Joy HubSoul Joy Hub

问题一

kinit alice beeline -u “jdbc:hive2://baogang2:10000/default;principal=hive/baogang2@TDH” 请问这个beeline连接到inceptor中之后,当前用户是谁?principal=hive/baogang2@TDH指的又是什么?

  • 当前用户是baogang2
  • principal=hive/baogang2@TDH指的是在baogang2的权限下使用hive

问题二

尝试写一个访问kerberos安全的hdfs根目录的java程序 2015年8月1日上午10点 之前可以使用如下集群 172.16.1.190~172.16.1.192 manager节点在 172.16.1.190上 admin/admin

代码语言:javascript
复制
public static void main(String agrs[]) throw Exception{
    final Configuration conf = new Configuration();
    conf.addResource(new Path("/etc/admin/conf/core-site.xml"));
    conf.addResource(new Path("/etc/admin/conf/hdfs-site.xml"));

    UserGroupInformation.setConfiguration(conf);

    UserGroupInformation ugi = UserGroupInformation.LoginUserFromKeytab("admin","admin.keytab");
    UserGroupInformation ugi = UserGroupInformation.LoginUserFromKeytabAndReturnUGI("admin","admin.keytab");
    UserGroupInformation ugi = UserGroupInformation.LoginUserFromPasswordAndReturnUGI("admin","admin");

    ugi.doAs(new PrivilegedActionException<Void>(){
        @Override
        public void run() throw Exception{
            FileSystem fs = FileSystem.get(conf);
            FileStatus[] files = fs.listStatus(new Path("/user"));
            if(files != null){
                for(FileStatus file : files){
                    System.out.println(file.getPath());
                }
            }
            return null;
        }
    });
}

问题三

kerberos的用户的密码会在网络上传播吗?为什么?

不会。

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
  • Client向KDC发送自己的身份信息和密钥,KDC从Database得到TGT和Ticket(包含Session Key), 并用该密钥将其加密回复给Client。此时只有真正的Client才能用密钥对它解密,得到Ticket和TGT。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
  • Client用从解密出来的Ticket中的Session Key加密信息生成Authenticator和TGT一起也发送给KDC。
  • KDC检查TGT和Authenticator,从Database得到TGS(包含生成新的Session Key,即Service与KDC之间的密钥),并用Authenticator将其加密回复给Client。
  • 只有真正的Client才能用Authenticator对它解密,得到TGS,并用新的Session Key替换旧的。
  • Client再用新的Session Key对TGS加密,并发送给Service(如HDHS)。Service再用Session Key对其解密,得到信息。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年07月31日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题一
  • 问题二
  • 问题三
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档