Active Directory authentication on centos 7

這篇在記錄如何再 Centos 7 上執行 AD 認證. 在建設 develop 的環境時, 有需求是允許 RD 可以進入 server, 這邊期望可以透過 Active Directory (AD) 統一管理員工帳戶, 不用另外開帳號或放 ssh public key.

目前註冊帳戶的方式有兩種, 一種是執行 Ansible 腳本, 建立使用者帳戶與配置權限以及放入ssh key, 適合特殊權限的人; 另一種是透過AD, 一般開發者權限.

環境

1[root@localhost ~]# uname -a
2Linux localhost.localdomain 3.10.0-1062.1.2.el7.x86_64 #1 SMP Mon Sep 30 14:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
3
4[root@localhost ~]# cat /etc/redhat-release
5CentOS Linux release 7.7.1908 (Core)

設定

 1## install package
 2yum install -y krb5-workstation realmd sssd samba-common-tools adcli oddjob oddjob-mkhomedir
 3
 4# 加入域名
 5
 6[root@localhost ~]# realm join --user=itadmin --client-software=sssd solartninc.com
 7Password for itadmin:
 8
 9# 查看域名
10
11[root@localhost ~]# realm list
12solartninc.com
13  type: kerberos
14  realm-name: SOLARTNINC.COM
15  domain-name: solartninc.com
16  configured: kerberos-member
17  server-software: active-directory
18  client-software: sssd
19  required-package: oddjob
20  required-package: oddjob-mkhomedir
21  required-package: sssd
22  required-package: adcli
23  required-package: samba-common-tools
24  login-formats: %U@solartninc.com
25  login-policy: allow-realm-logins
26
27# 測試登入
28[root@localhost ~]# id justin@solartninc.com
29
30# 修改設定. 拿掉完全匹配方便登入,登入時只需要打帳號不用帶上域名
31[root@localhost ~]# vi /etc/sssd/sssd.conf
32
33use_fully_qualified_names = False
34fallback_homedir = /home/%u
35
36# 從起sssd服務
37[root@localhost ~]# systemctl restart sssd
38[root@localhost ~]# systemctl daemon-reload
comments powered by Disqus