失败记录
System Security Services Dameon,能够实现linux的远程命名服务和远程认证功能。
优点:
当前hadoop集群使用kerberos进行服务间与外部jdbc用户的认证,使用公司LDAP作为上层应用(HUE等)的用户管理认证,使用sentry用来基本授权,sentry用户映射的是各服务所在机器的Linux用户。
虽然不用在上层应用频繁添加用户,但是还需要在授权阶段在机器上加用户
虽然可以用ansible批量添加,但依然需要手动触发。
随便找了一台能连上公司LDAP的机器,可在安装ldap客户端
后使用
进行验证连通性,获取到的用户信息格式是
开始几个步骤主要参考:
https://github.com/wbwangk/wbwangk.github.io/wiki/SSSD
以root身份 *** 作
vim /etc/sssd/sssd.conf进行配置,其中domains参数只是方便切换不同的配置集合,没有实际意义。[sssd]中与的配置xxx与底下的[domain/xxx]对应起来就好。
启动或重启服务
使用id username或者su username进行验证,始终报No such user
使用下面方法查看日志:
https://fedoraproject.org/wiki/How_to_debug_SSSD_problems
开始看的的问题是
经过各种参数调整,已经能retrive users了(即上述最终的配置),日志中显示的搜索路径与手动ldapsearch看起来也是一致的:
但依然在id username时No such user
能看到的信息是因为找不到uid与guid属性,所以无法自动创建linux用户。
希望有经验的朋友能支个招,或者确认一下是不是公司LDAP配置问题/属性缺失导致的。
在执行ansible创建用户指定密码的时候,直接passwd=xxx 不行,ansible不认明文的密码,我们需要用 python 进行加密处理。# pip install passlib
# python -c "from passlib.hash import sha512_cryptprint sha512_crypt.encrypt('<password>')"
# passwd="PASSWD"
# python -c "from passlib.hash import sha512_cryptprint sha512_crypt.encrypt('"${passwd}"')"
ansible创建用户时密码问题的踩坑记录
http://www.manongjc.com/detail/13-jjjcthuiddntddf.html
使用ansible-"password"添加新的sudo用户:"NOT_LOGGING_PASSWORD"信息
https://www.it1352.com/1930510.html
How to set default Ansible username/password for SSH connection?
https://serverfault.com/questions/628989/how-to-set-default-ansible-username-password-for-ssh-connection
How To Generate Linux User Encrypted Password for Ansible
https://computingforgeeks.com/generate-linux-user-encrypted-password-for-ansible/
Add user and set password using Ansible
https://unix.stackexchange.com/questions/273316/add-user-and-set-password-using-ansible
Creating a new user and password with Ansible
https://stackoverflow.com/questions/19292899/creating-a-new-user-and-password-with-ansible
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)