本文假设系统管理员已将域账号同步至Freeipa或已在Freeipa中建立了用户账号(username)。
本文client使用CentOS 7作为测试环境。
将域账号同步至Freeipa后,上文介绍了使用WEBUI启用令牌的方法,为便于批量操作,管理员也可采用下列脚本简化启用令牌的过程:
命令详细用法请使用ipa help topics查询。
#!/bin/bash #查询所有ipa用户并打印 ipa user-find | grep User | awk -F ':''{print $2}' > userlist.txt #删除不需要处理的用户,默认admin、autoenroll用户不进行处理 if [ -f userlist.txt ]; then cat userlist.txt | sed '/admin/d' | sed '/autoenroll/d' >newuserlist.txt rm -f userlist.txt else if [ -f newuserlist.txt ]; then #修改所有用户的认证方式为otp #为每个用户启用令牌 for USERNAME in `cat newuserlist.txt` do ipauser-mod $USERNAME --user-auth-type=otp ipa otptoken-add --type=totp / --not-before=20170112000000Z / --not-after=20200113000000Z / --owner=$USERNAME / --algo=sha512 --digits=8 / --interval=60 / --desc="token for$USERNAME" $USERNAME >>otplist done else echo "user auth type modify failed" fi
执行完毕后,用户令牌配置文件输出至otplist,输出结果如图所示。
利用新创建的账号登录Freeipa WebUI测试无误后,即可进行接下来的步骤。
使用管理员账号登录WebUI,找到需要设置的用户,设置用户登录shell、home目录、SSH public keys等,本例中设置如下:
命令:
#ipa user-mod USERNAME --shell=/bin/bash--homedir=/home/USERNAME
为方便主机Host加入Freeipa管理,应创建单独的用户用于自动注册主机,
新建帐号autoenroll,需要登录一下web,更新一下密码。
Web UI创建 enroll帐号的步骤:
【IPA Server ->Role Based ACL -> ROLES】添加Enroll组 -> 选择PRIVILEGES权限组,添加权限:
同时,将autoenroll用户加入enroll组中
a)安装ipa client
# yum install ipa-client
配置ipa client
在主机未加入Freeipa统一管理之前,主机中只创建了root账号,未创建其它账号,Freeipa用户显而易见是无法直接登录主机的:
b)配置ipa-client
执行ipa-client-install,按照提示输domain name、freeipa hostname、autoenroll账号密码等信息后,确认执行:
# ipa-client-install
c)为用户创建home目录
# mkdir /home/username
执行成功后,再次尝试使用Freeipa中已有用户账号连接主机,此时已可以成功登录:
如果已开启OTP,则会要求连续输入密码、OTP后才可成功登录,登录提示信息如下:
提示First Factor:请输入你的密码,如果已进行AD同步,此处为域账号密码
提示Second Factor:请输入你的OTP,通常为6位或8位数字
Freeipa提供了统一权限管理功能,可直观的通过web ui进行配置,
【Policy-Host Based Access Control】,根据需要创建控制规则,
规则设置简单易懂,即【 什么用户(组)可以通过什么服务(组)访问哪台主机(组) 】,在创建响应的用户、用户组、主机、主机组、服务、服务组后即可进行筛选、添加等操作。
在未创建sudo规则前,登录用户只具备普通用户权限,如果需进行系统管理操作,需要创建对应的sudo规则。
首先检查确认上一节HBAC配置:**
Who:需要使用sudo的用户或用户组已配置
Accessing:需访问的主机或主机组已配置
Via Service:已启用sshd、sudo服务
创建适当的sudo规则**
SSH远程登录验证是否可正常登录,同时执行sudo command验证是否可正常执行。如出现要求反复输入密码的情况,请检查上述配置是否正确。