首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

0614-5.16.1-同一OS用户并行Shell脚本中kinit不同的Principal串掉问题分析

测试环境 1.RedHat7.3 2.CDH5.16.1 2 问题描述 Fayson通过一段简单的shell脚本示例代码说明问题,在代码中执行kinit命令初始化Kerberos信息,通过hadoop命令去统计各自用户目录下子目录大小...通过两个脚本输出的日志可以看到a_fayson.log中kinit的是fayson用户,但在执行hadoop命令的时候显示的为cdhadmin,此时Principal账号串掉导致命令执行失败。...5 解决方法二 在脚本中使用了C shell(csh)命令,C shell是一个交互式命令解释器和一种编程语言,采用的语法类型于C编程语言。...在C shell中我们可以指定KRB5CCNAME环境变量,具体实现方式如下: 1.在OS命令行执行如下命令安装csh命令 [root@cdh4 shell-test]# yum -y install...4.本篇文章中主要讲述了shell脚本的两种实现方式一种在脚本中使用export的方式指定环境变量,一种使用C shell命令通过setenv方式指定。

2K30
您找到你想要的搜索结果了吗?
是的
没有找到

0706-6.2.0-Windows Kerberos客户端配置并访问CDH

4.命令行下初始化 ? 在客户端可以看到初始化成功的Ticket ? 5.命令行下kdestroy ? 客户端数据已kdestroy ?...测试成功 2.将生成的keytab文件拷贝到本地Windows环境,进行kinit测试 ? 初始化成功,在客户端查看 ?...2.在生成keytab文件时需要加上”-norandkey”参数,否则会导致kinit时密码错误。...3.在Windows本地安装了Java环境后,由于Java里也有kinit、klist等命令,所以需要在Path环境变量里面,将Kerberos的环境变量位置调整到Java环境变量的前面,保证在Windows...本地使用的kinit、klist等命令是使用的Kerberos的命令,否则就会导致命令冲突,如下图,将Kerberos的环境变量调整到最前面即可。

2K62

Kerberos实战

当前用户是非root用户或在其它机器上操作 我们选择一台Kerberos从节点上访问Kerberos数据库,先使用kinit进行身份认证: kinit admin/admin # 需要输入密码,密码是你之前创建...就和之前的命令一样了,这里就不贴图和赘述了。...在当前用户是非root用户或在其它机器上操作时,需要先使用kinit命令认证,然后再使用kadmin命令来访问数据库,这里总共需要输入两次密码。...五、kinit认证 这里采用的是在shell终端上使用命令行进行用户认证的方案。集群内所有的节点均可使用以下命令。...这时候lyz用户虽然已被认证,但是由于HBase自身还有权限控制,所以还不能执行hbase shell操作,需要使用grant命令对lyz用户进行授权。

6.4K54

红帽的ipa-server:区块链中端开源测试基础设施

ds、bind、kerberos等核心软件包,形成一个以389-ds(ldap)为数据存储后端,kerberos为验证前端,bind为主机识别,apache+tomcat提供的一个web管理界面,统一的命令行管理界面的身份识别系统...接下来,获得一个kerberos的登录票据(具有时效性,默认10小时),用于登录web界面和其他管理命令 运行命令 kinit admin 输入密码 查看票据,klist    修改默认shell,默认为...--mkhomedir --enable-dns-updates --no-ntp -p admin  服务端会默认将客户端主机名(FQDN)解析成当前的IP地址 手动在服务器端加入客户端解析方法 kinit...admin ipa user-mod user01 --password 用户密码失败后解锁 kinit admin ipa user-unlock user01 删除用户 ipa user-del...常见错误 ipa error no credentials cache found 没有打开ticket,解决办法kinit admin

52720

Windows本地安装配置Kerberos客户端

安装完了Kerberos客户端会自动的在path里面加上了自己的目录,但是如果windows本地安装了Oracle JDK ,该JDK里面也带了一些 kinit, klist 等命令,所以需要把 Kberberos...也可以在windows命令行内执行 第二种认证方式 也分两种情况,一种是服务自带的keytab,一种是我们手动生成的keytab。...实例: 我们先创建lyz@XDATA.COM的keytab文件,命令如下: cd /etc/security/keytabs kadmin.local ktadd -norandkey -k lyz@keytab...Kebreros通过keytab的方式来认证Kerberos主体,假设我们不知道keytab对应的是哪个Kerberos主体,那么我们可以使用klist -kte命令来查看keytab,然后在使用kinit...命令认证,如下图所示: 注意: 上面的kinit认证,只需要认证成功一种就可以任意访问Hadoop所有服务了,上面只是针对kinit命令选择进行了罗列。

17.7K32

python3.6.5基于kerberos认证的hive和hdfs连接调用方式

通过kinit 生成 ccache_file或者keytab_file 6...., host, port, sso_ticket=None): try: hdfs_url = 'http://' + host + ':' + port active_str = 'kinit...self.conn.cursor() except Exception as e: raise e 总结 我在做的时候也遇到很多坑,其实在这个需要理解其中原理,比如kerberos的机制和对应命令...用多用户切换的情况,建议不要用python,因为一点都不友好,官方包问题很多,我都改用java的jdbc去操作hdfs和hive了 如果只是自己测试和和做算法研究,还是可以用的,因为这个代码简单,容易实现 补充 kinit...命令 kinit -kt xxxx.keytab #激活xxxx用户当前缓存 kinit list #查看当前缓存用户 以上这篇python3.6.5基于kerberos认证的hive和hdfs

3.5K21

0552-5.15.0-同一OS用户下不同Kerberos用户执行脚本Principal串掉问题分析

cdhproject 提示:代码块部分可以左右滑动查看噢 1 文档编写目的 在集群启用Kerberos后,使用同一个OS用户在客户端并发调度Python代码获取Hive数据(代码中使用不同的kerberos用户kinit...测试环境 1.CDH5.15.0 2.Redhat7.3 3.集群已启用Kerberos 2 问题描述 Fayson通过一段简单的示例代码说明问题,在代码中执行kinit命令初始化Kerberos信息,...通过impyla包访问Hive,具体代码如下: from impala.dbapi import connect import os os.system('kinit -k -t /data/disk1...2.由于上述的两个脚本是在同一个OS用户下,所以两个不同的Kerberos用户在进行Kinit操作后都会覆盖/tmp/krb5cc_{uid}文件 ?...2.如果在同一个OS用户下使用不同的Kerberos用户进行kinit会覆盖/tmp/krb5cc_{uid}文件,从而导致应用中的票据信息串掉。

1K10

Docker部署hue,连接带kerberos认证的Impala集群

无kerberos的Impala集群连接 连接不带认证的集群非常简单,我们直接按照官方的教程做就可以了,直接执行如下命令从官方仓库拉取镜像到本地: docker pull gethue/hue:latest...请注意,这里连接的是不带kerberos认证的impala集群,然后通过如下命令启动: docker run -it -p 9999:8888 \ -v /home/impala/hue/hue.ini...mysql host=mysql_host port=3306 user=hue password=xxx name=hue_docker_test 重新使用上述docker run命令启动...我们使用如下的命令下载并编译代码: git clone ssh://git@g.hz.netease.com:22222/datawarehouse/impala-project/hue.git cd...然后我们就可以通过如下命令来启动hue服务了: docker run -it -p 9999:8888 \ -v /home/impala/hue/hue.ini.kerberos:/usr/share

1.6K20

Kerberos相关问题进行故障排除| 常见错误和解决方法

用户环境引用的策略/票证缓存文件丢失、不可读(权限)、损坏或无效 票证续签寿命设置为零 票证授予票证(TGT)不存在,因为服务A需要将命令作为服务B运行,但尚未正确配置为允许模拟服务B 票证更新尚未执行...如果在kinit命令中未指定,则生存期将从krb5.conf中获取,如果不存在renew_lifetime,则生存期默认为零。 您的KDC上的krbtgt服务Principal的更新生命周期为0。...以具有执行所需命令权限的用户身份运行kinit 更新JDK。...请参阅以下知识文章: 运行Oozie CLI命令以通过负载均衡器连接到Oozie服务器会出现身份验证错误 多宿主Kerberized(AD)群集 确保将可选值[domain_realm]设置为将主机映射到正确的域...每个服务器上的命令getent hosts都必须以小写形式解析该主机。 确认Principal存在于KDC中,并在必要时生成。如果使用AD,则仅配置和查询单个AD实例。

40.7K34

Windows Kerberos客户端配置并访问CDH

2.在Windows下使用kinit测试。 3.通过keytab在Windows下进行kinit操作。 4.配置FireFox。 5.验证服务是否正常访问。...[ufxm9ife9w.png] 在客户端可以看到初始化成功的Ticket [yfwmnp8fxs.jpeg] 5.命令行下kdestroy [7cwjxos39y.png] 客户端数据已destroy...jpeg] 再次访问成功 [ev8wn7hsg7.jpeg] 5 keytab合并及使用 1.将需要合并的keytab文件统一的放在同一个目录下 [zgnanodl12.jpeg] 2.使用ktutil命令合并...---| 在当前目录下生成test-new.keytab文件 [pkcvz5xpff.jpeg] 注意:由于生成的keytab文件权限默认为600,如果非root用户则需要使用sudo执行ktutil命令或者提升...该凭证报密码错误 在生成keytab文件时需要加参数”-norandkey”否则会导致直接使用kinit test@CLOUDERA.com直接初始化时会提示密码错误。

7.6K130

0512-使用Python访问Kerberos环境下的HDFS

Kerberos,Token)和不安全的集群访问 支持HA集群并兼容节点故障转移 支持json格式配置集群 支持在python shell上进行交互式访问HDFS 支持HDFS联邦 支持并发上传和下载 1.在命令行执行如下命令安装...3 Pywhdfs命令行使用 pywhdfs支持在命令行通过WebHDFS进行交互式的访问及操作HDFS,pywhdfs命令行访问HDFS通过json文件来定义集群的配置信息,默认的配置文件在~/ .webhdfs.cfg...注意:name和urls两个属性,name属性在命令行运行时需要指定,否则会报错。...2.在命令行运行如下命令进入python shell交互式界面 [root@cdh05 python_code]# kinit hiveadmin@FAYSON.COM [root@cdh05 python_code...2.在命令行执行如下命令运行python_hdfs.py文件 [root@cdh05 python_code]# kinit hiveadmin [root@cdh05 python_code]# /opt

1.8K10

集群启用Kerberos后对Zookeeper的Znode操作异常分析

github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.问题描述 ---- 在CDH集群中Zookeeper已启用Kerberos服务,在命令行为使用...Kerberos账号进行Kinit操作,使用zookeeper-client登录后仍然可以进行创建znode和删除znode,并且可以删除其它有服务的Znode,具体操作如下: [root@ip-172...在Zookeeper-client命令行执行命令创建、浏览、查看及删除znode操作 create /zk-test-anyone data ls /zk-test-anyone getAcl /zk-test-anyone...在不使用Kerberos账号Kinit的前提下,直接使用Zookeeper-client访问Zookeeper [root@ip-172-31-30-69 ~]# klist klist: No credentials...在启用Kerberos环境下的ZooKeeper,如果需要删除服务(如:hive、hbase、hdfs等)注册信息时,需要先获取到该目录的ACL权限,根据ACL权限使用不同服务的keytab文件kinit

2.4K50
领券