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