FreeIPA是一个集成安全信息管理解决方案,FreeIPA服务器通过存储管理计算机网络安全方面所需的用户、组、主机和其他对象的数据,提供集中的身份验证、授权和账户信息。结合了Linux、Directory Server、MIT Kerberos、NTP、DNS、Dogtag(认证系统)。它由Web界面和命令行管理工具组成。类似于windows中的AD域
环境准备
IP | hostname | 系统 | 用途 |
192.168.48.128 | freeipa.bigdata-heboan.com | CentOS7.4 | 服务端 |
192.168.48.129 | client01.bigdata-heboan.com | CentOS7.4 | 客户端 |
systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 vi /etc/selinux/conf 设置SELINUX=disabled
安装配置ipa-server (freeipa.bigdata-heboan.com )
①安装ipa-server
yum install ipa-server bind bind-dyndb-ldap ipa-server-dns
②配置ipa-server
[root@freeipa ~]# ipa-server-install --setup-dns
Server host name [server.test.co]: ---回车键(默认) Please confirm the domain name [test.co]: ---回车键(默认) Please provide a realm name [TEST.CO]: ---回车键(默认) Directory Manager password: ---设置目录管理的密码 最少是8位 IPA admin password: ---设置ipa 管理员admin的密码 最少8位 一定要记住,后面要用到 Do you want to configure DNS forwarders? [yes]: no ---你想配置dns为转发器吗? 选择no Do you want to search for missing reverse zones? [yes]: yes --你想配置dns的反向域吗?选择yes Continue to configure the system with these values? [no]: yes --继续配置系统其他的值? 选择yes
验证ipa-server
[root@freeipa ~]# kinit admin Password for admin@BIGDATA-HEBOAN.COM: [root@freeipa ~]# ipa user-find --all
浏览器访问https://freeipa.bigdata-heboan.com/ipa/ui
部署客户端(client01.bigdata-hebona.com)
①修改客户端的DNS(网卡的配置),然后重启网络
DNS1=192.168.48.128 #指向freeipa server DNS2=114.114.114.114
②安装ipa-client
yum install -y ipa-client
②配置 client加入域
[root@client01 ~]# ipa-client-install --domain=bigdata-heboan.com --no-ntp --realm=BIGDATA-HEBOAN.COM –-mkhomedir
然后根据提示输入对应设置 Continue to configure the system with these values? [no]: yes ---继续配置系统其他的值? 选择yes User authorized to enroll computers: admin ---域管理员 Password for admin@BIGDATA-HEBOAN.COM: ---密码
在web ui上可以看到客户端已经加进来了
基本使用
①添加一个用户
②策略---HBAC规则,删除默认规则
添加一条规则
现在在任意一台主机上使用heboan账号远程 client01.bigdata-heboan.com
ssh可以正常登录了,试试sudo, 居然提示说不允许
目前用户heboan只是一个普通用户的权限,并不能使用sudo命令,如果想使用sudo提权,还是需要配置sudo规则
注意,配置sudo规则后,并不会实时生效,默认会读取缓存,该缓存每15分钟增量更新一次,如果想实时生效,可以修改客户端/etc/sssd/sssd.conf
//增加以下两行 ladb_sudo_full_refresh_interval = 3600 ladp_sudo_smart_refresh_interval = 30
//重启sssd服务 systemctl restart sssd
再次尝试执行 sudo