1- windows域服務器信息
OS: windows 2016 datacenter
IP: 10.0.0.1
DNS: 10.0.0.1
域控制器地址: leman.cn
域管理員: admin ( 或者Administrator) 密碼: Password@1
域用戶/密碼:
- c101/Password@1
- c102/Password@2
- u101/Password@1
- u102/Password@2
域服務默認端口: 3268 和 389
2- 加入AD並使用域用戶ssh登錄[ 使用realm方式]
2.1- 安裝必須軟件包
CentOS7:
yum install -y realmd sssd adcli oddjob oddjob-mkhomedir samba-common-tools
Ubuntu18:
apt install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit -y
SSSD是紅帽企業版Linux6中新加入的一個守護進程,該進程可以用來訪問多種驗證服務器,如LDAP,Kerberos等,並提供授權。
2.2- 發現域控制器
realm discover-v leman.cn
2.3- 加入域控服務器
hostname centos-1 # 不可用localhost
realm join leman.cn -U admin #沒有-U參數,默認使用Adminstrator用戶
2.4- 檢查加入結果
[root@centos-1 ~]# realm list
leman.cn
type: kerberos
realm-name: LEMAN.CN
domain-name: leman.cn
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: oddjob
required-package: oddjob-mkhomedir
required-package: sssd
required-package: adcli
required-package: samba-common-tools
login-formats: %U
login-policy: allow-realm-logins
2.5- 用戶不需要用域名登陸
[root@centos-1 ~]# cat /etc/sssd/sssd.conf -n
1
2 [sssd]
3 domains = leman.cn
4 config_file_version = 2
5 services = nss, pam
6
7 [domain/leman.cn]
8 ad_domain = leman.cn
9 krb5_realm = LEMAN.CN
10 realmd_tags = manages-system joined-with-samba
11 cache_credentials = True
12 id_provider = ad
13 krb5_store_password_if_offline = True
14 default_shell = /bin/bash
15 ldap_id_mapping = True
16 use_fully_qualified_names = False #True改成False
17 fallback_homedir = /home/%u #家目錄 默認是/home/%u@%d,表示用戶名加域名
18 access_provider = ad
[root@centos-1 ~]#
2.6- 重啟sssd服務 [[ 完成 ]]
systemctl restart sssd
2.7- 查詢Windows域賬戶信息
[root@centos-1 ~]# id admin@leman.cn
uid=1037201105(admin) gid=1037200513(domain users) groups=1037200513(domain users)
3- 故障解決
3.1- 解決Home目錄創建問題
(或者登錄時閃退,根本問題是Home目錄創建)
vim /etc/pam.d/common-session
在(session required pam_unix.so)下一行添加下面內容
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
3.2- 加域失敗
Insufficient permissions to join the domain
報錯信息如下:
Couldn't authenticate to active directory: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (Configuration file does not specify default realm)
adcli: couldn't connect to streamcomputing.com domain: Couldn't authenticate to active directory: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (Configuration file does not specify default realm)
Insufficient permissions to join the domain
該問題與DNS(反向DNS解析)有關,臨時解決方法:
創建/etc/krb5.conf(如果沒有),並確保如下配置:
[libdefaults]
default_realm = alphabook.cn
rdns = false
4- realm的幾種使用方法
- realm discover -v [ad_name] #發現域
- realm join -v [-U user] realm-name #加入域
- realm list #列出域
- realm permit [-ax] [-R realm] user ... #允許某些域用戶或者域組用戶登陸
- realm deny --all [-R realm] #不允許域登陸
- realm leave -v [-U user] [realm-name] #退出域