FreeIPA+Gitlab实现用户管理

FreeIPA+Gitlab实现LDAP的用户管理

安装前准备****主机名和域名解析一定要一样

安装前一定记得换源,在centos最新的源中freeipa版本为4.6.6,在安装过程中,会出错,把所有的自带的源备份一下,复制如下源

vim ipa.repo
[ipa-server]
name= ipa-server repo
baseurl=http://vault.centos.org/7.7.1908/os/x86_64/
enable=1
gpgcheck=0

注意:


上面的源为freeipa的4.6.5版本,想换其它的版本可以在centos的官方找源的地址进行配置,

  1. http://vault.centos.org/
  2. 选择centos的版本,点进去
  3. 找到os文件夹,点进去,选择/x86_64/文件夹(文件中有Packages/文件夹,可以搜索一下是否是自己需要的版本)
  4. 复制浏览器上面的URL地址
  5. 黏贴在baseurl=的地址

记得在宿主机上也要解析server的域名

我们安装带有集成DNS的FreeIPA,需确保网络配置文件中的 DNS1=127.0.0.1
(DNS可以暂时不改)原来的DNS注释掉
vi /etc/resolv.conf nameserver 8.8.8.8,
或114.114.114.114

设置主机名:可以根据自己的需求设置(此主机名就是ldap的查找域)
设置vim /etc/hostname —>ipa.welcome.com


添加hosts条目 echo “192.168.47.133 ipa.welcome.com” >> /etc/hosts
安装 FreeIPA*

安装 bind-dyndb-ldap,通过FreeIPA管理集成的DNS 安装环境依赖

yum install bind-dyndb-ldap ipa-server-dns sssd-client sssd-common sssd-common-pac sssd-ldap sssd-proxy python-sssdconfig authconfig authconfig-gtk -y

yum install ipa-server -y
yum install -y ipa-server bind bind-dyndb-ldap ipa-server-dns

启动Bind(DNS)服务,并设置自动启动 并安装ipa
ipa-server-install --setup-dns
(–setup-dns可以不添加这个参数,按默认直接回车也可)


  1. 首先输入定义的主机名
  2. 输入domain域名,也是定义的,如:ipa.welcome.com
  3. 大写域名
  4. 设置创建目录的管理密码和管理员的登录密码
  5. yes,添加dns服务器8.8.8.8或114.114.114.114
  6. 然后就是回车,加yes
  7. 配置反向域名解析,直接回车,等待安装

提示:

Do you want to configure integrated DNS (BIND)? [no]: yes

  • 主机别名就是上面设置的hostname
    在这里插入图片描述

  • 管理员密码此处:即是安装完后的admin的登录密码
    在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

等待安装

Please wait until the prompt is returned.
Configuring NTP daemon (ntpd)
[1/4]: stopping ntpd
[2/4]: writing configuration
[3/4]: configuring ntpd to start on boot
[4/4]: starting ntpd
Done configuring NTP daemon (ntpd).
Configuring directory server (dirsrv). Estimated time: 30 seconds
[1/45]: creating directory server instance
[2/45]: enabling ldapi
[3/45]: configure autobind for

Could not update DNS SSHFP records.
SSSD enabled
Configured /etc/openldap/ldap.conf
Configured /etc/ssh/ssh_config
Configured /etc/ssh/sshd_config
Configuring ipa.server.com as NIS domain.
Client configuration complete.
The ipa-client-install command was successful

ipaserver.dns_data_management: ERROR unable to resolve host name ipa.welcome.com. to IP address, ipa-ca DNS record will be incomplete


Setup complete

Next steps:
1. You must make sure these network ports are open:
TCP Ports:
* 80, 443: HTTP/HTTPS
* 389, 636: LDAP/LDAPS
* 88, 464: kerberos
* 53: bind
UDP Ports:
* 88, 464: kerberos
* 53: bind
* 123: ntp


authconfig --enablemkhomedir –update 创建用户,家目录 更新认证

  • 执行出错 请看下面的错误二
  • 检查一下systemctl status oddjobd 是否启动。最好再检查一下dbus.socket 和 dbus.service 这两个服务 是否正常

获取管理员票据

kinit admin


查看票据有效期

klist
在这里插入图片描述

验证freeIPA
ipa user-find admin
在这里插入图片描述
错误整理


一、ERROR DNS zone yinzhengjie.org.cn already exists in DNS and is handled by server(s): dns28.hichina.com., dns27.hichina.com.
解决:
域名已经存在,重新换个域名就可以


二、ERROR Command ‘/bin/systemctl start certmonger.service’ returned non-zero exit status 1
解决:
根据上述报错,大致的意思就是说freeIPA的“certmonger”服务没有启动成功

systemctl start certmonger.service #启动也失败
systemctl status certmonger   #查看certmonger服务状态!

certmonger -S -d 10     #查看certmonger的启动日志
在日志中看到与dbus这个服务有关

systemctl restart dbus.service

systemctl restart dbus.socket

然后把之前安装一半的freeIPA卸载,重新安装即可

ipa-server-install --uninstall

再执行即可

ipa-server-install --setup-dns


三、ERROR DNS server 127.0.0.1: query ‘. SOA’: The DNS operation timed out after 10.0014739037 seconds 域名解析错误
解决:


[root@node100 ~]# cat /etc/resolv.conf
#Generated by NetworkManagersearch localdomain yinzhengjie.com
nameserver 127.0.0.1  为了复线上述的问题,这是我故意写错的DNS地址!
nameserver 8.8.8.8
[root@node100 ~]#
[root@node100 ~]# vi /etc/resolv.conf
[root@node100 ~]#
[root@node100 ~]# cat /etc/resolv.conf
#Generated by NetworkManagersearch localdomain yinzhengjie.com
nameserver 172.30.1.1 #我们可以把这行删除,也可以指定正确的DNS服务器即可!
nameserver 8.8.8.8

1607651201557)(en-resource://database/504:1)]

用于服务器用户登录需要安装客户端

安装client
yum -y update

域名解析也要做

yum -y install ipa-client

yum -y install freeipa-client

  • 修改/etc/resolv.comf,将ipa server上的ip作为DNS首选

ipa-client-install

下面的命令也可以添加客户端
ipa-client-install --mkhomedir --enable-dns-updates --no-ntp -p admin

DNS discovery failed to determine your DNS domain
Provide the domain name of your IPA server (ex: example.com): **welcome.com**
Provide your IPA server name (ex: ipa.example.com): **ipa.welcome.com**
The failure to use DNS to find your IPA server indicates that your resolv.conf file is not properly configured.
Autodiscovery of servers for failover cannot work with this configuration.
If you proceed with the installation, services will be configured to always access the discovered server for all operations and will not fail over to other servers in case of failure.
Proceed with fixed values and no DNS discovery? [no]: **yes**
Hostname: cg.mytest.org
Realm: MYTEST.ORG
DNS Domain: mytest.org
IPA Server: ihost.mytest.org
BaseDN: dc=mytest,dc=org
————————————————
Continue to configure the system with these values? [no]: **yes**
User authorized to enroll computers:   **admin用户名server端的管理员**
Synchronizing time with KDC...
Password for admin@MYTEST.ORG:  **密码**
Successfully retrieved CA cert
    Subject:     CN=Certificate Authority,O=MYTEST.ORG
    Issuer:      CN=Certificate Authority,O=MYTEST.ORG
    Valid From:  Tue Oct 07 03:20:26 2014 UTC
    Valid Until: Sat Oct 07 03:20:26 2034 UTC

Enrolled in IPA realm MYTEST.ORG
Created /etc/ipa/default.conf
successfull

/etc/ sssd /sssd.conf里面添加几行代码

* 然后重启sssd


debug_level = 0x3ff0 #debug level
ldap_sudo_full_refresh_interval = 3600
ldap_sudo_smart_refresh_interval = 30

在这里插入图片描述
重启systemctl restart dbus.service和systemctl restart dbus.socket

systemctl start certmonger.service


ipactl restart 重启 ipa

ipactl status 查看服务的状态

ipactl start

getcert list

然后就可以使用FreeIPA上的用户

访问:域名 ipa.welcome.com 登录
在这里插入图片描述

回归正题接入Gitlab

  • 配置文件如下
* * *
**在vim /etc/gitlab/gitlab.rd中添加:**

gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = {
'main' => {
  'label' => 'freeIPA',     #名字可以自定义
  'host' => 'ipa.welcome.com',  #可以写成ldap的ip地址
  'port' => 389,
  'uid' => 'uid',
  'encryption' => 'plain',
  'verify_certificates' => true,
  'bind_dn' => 'uid=admin,cn=users,cn=compat,dc=ipa,dc=trunk,dc=com',
  'password' => '密码',
  'active_directory' => true,
  'base' => 'cn=compat,dc=ipa,dc=trunk,dc=com'
  }
}

支持条件过来用户

过滤用户的GID·
user_filter => ‘gidNumber=105600003’
过滤用户的Uid
‘user_filter’ => ‘uidNumber=1791000035’

  • **使用用户组的GID进行用户过滤 **
  • 注意:用户的组ID必须一样,而且同一用户不能加在两个用户组中,只能有一个GID,否则,会造成过滤规则出现问题,该用户过滤不出来。
  • 查看是否能正常获取用户列表#

gitlab-rake gitlab:ldap:check
正常连接的情况下执行之后能看到用户的列表(正常之下 没有红色提醒)
在这里插入图片描述

检查验证用户
gitlab-rake gitlab:ldap:check
  检查
ldapsearch '(|(memberof=cn=research,cn=groups,cn=accounts,dc=trunk,dc=tech)(memberof=cn=committee,cn=groups,cn=accounts,dc=trunk,dc=tech))'

在vim /etc/gitlab/gitlab.rd中添加:

**过滤规则,多用多规则**
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = {
'main' => {
  'label' => 'freeIPA',
  'host' => 'LDAP的服务器地址或是解析',
  'port' => 389,
  'uid' => 'uid',
  'encryption' => 'plain',
  'verify_certificates' => true,
  'bind_dn' => 'uid=admin,cn=users,cn=compat,dc=trunk,dc=tech',
  'password' => '密码',
  'active_directory' => true,
  'base' => 'dc=trunk,dc=tech',     #服务查询的搜索域
  'attributes' => {
    'email' => ['mail', 'email', 'userPrincipalName']
  },
  'user_filter' => '(|(memberof=cn=research,cn=groups,cn=accounts,dc=trunk,dc=tech)(memberof=cn=committee,cn=groups,cn=accounts,dc=trunk,dc=tech))'
#'user_filter' => 'gidNumber=1056000005',

  }
}

到此FreeIPA的搭建与应用已经完成,freeipa的版本可能已经更新,如安装失败请去centos官网找旧版本的yum进行安装,此版本为4.6.5,全为UI界面,添加用户点点,支持很多功能,sudo权限设置等。

  • 经过实际生产环境正在用的
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在CentOS 7.9上安装FreeIPA,您可以按照以下步骤进行操作: 1. 首先,确保您的系统已经安装了CentOS 7.9,并且具有root权限。 2. 安装FreeIPA服务器软件包。您可以使用以下命令安装: ``` yum install -y ipa-server ``` 3. 运行`ipa-server-install`命令来配置和安装FreeIPA服务器。该命令将引导您完成配置过程,并要求您提供一些信息,例如域名、管理员密码等。您可以使用以下命令运行安装程序: ``` ipa-server-install ``` 4. 在安装过程中,您需要为FreeIPA服务器设置一个管理员密码。请确保选择一个强密码,并妥善保管它。 5. 安装完成后,您可以使用以下命令启动FreeIPA服务: ``` systemctl start ipa.service ``` 6. 验证FreeIPA服务器是否正常运行。您可以使用以下命令检查服务状态: ``` systemctl status ipa.service ``` 如果服务正在运行,并且没有错误或警告消息,那么您的FreeIPA服务器已经成功安装和配置。 请注意,以上步骤仅涵盖了FreeIPA服务器的安装和基本配置。根据您的需求,您可能需要进一步配置和自定义FreeIPA服务器。您可以参考FreeIPA的官方文档以获取更多详细信息和指导。 \[2\] #### 引用[.reference_title] - *1* *3* [Centos-openstack-Rocky-ironic部署](https://blog.csdn.net/wen328/article/details/93196599)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [CentOS7服务器的第一道屏障防火墙firewall的使用](https://blog.csdn.net/hayixia606/article/details/90674244)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值