客户端:Ubuntu 18.04 / Ubuntu 20.04

服务器:Windodws Server 2019域控


1. 修改计算机名称

sudo hostnamectl set-hostname BJLX001

2. 确保网络和DNS工作

ping contoso.com

3. 安装软件

sudo apt -y update
sudo apt -y install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit

4. 加域和配置

sudo realm join contoso.com

加域成功后,就可以识别域用户信息

id demo.user01@contoso.com
uid=1770201115(demo.user01@contoso.com) gid=1770200513(domain users@contoso.com) groups=1770200513(domain users@contoso.com)

可能遇到加域失败,报错信息:Insufficient permissions to join the domain,虽然使用的是域管理员账户administrator

临时禁用反向域名解析 sudo vi /etc/krb5.conf

[libdefaults]
default_realm = CONTOSO.COM
rdns = false

或者在Windows域控服务器上添加反向域名解析,确保DNS正向/反向域名解析均工作

Linux - Ubuntu 加入Windows域_加入Windows域

测试反向解析

nslookup
> set type=ptr
> 10.10.10.10
Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
10.10.10.10.in-addr.arpa name = BJDC01.contoso.com.

调整sssd配置

sudo cp /etc/sssd/sssd.conf /etc/sssd/sssd.conf-bk
sudo vi /etc/sssd/sssd.conf
# 修改use_fully_qualified_names和fallback_homedir
use_fully_qualified_names = False
fallback_homedir = /home/%u

Home目录创建问题

sudo cp /etc/pam.d/common-session /etc/pam.d/common-session_bk
sudo vi /etc/pam.d/common-session

在这一行(session required pam_unix.so)后面添加下面内容

session    required    pam_mkhomedir.so skel=/etc/skel/ umask=0022

重启sssd服务

sudo systemctl restart sssd

以域用户登陆

demo.user01@BJLX001:~$ whoami
demo.user01
demo.user01@BJLX001:~$ id
uid=1770201115(demo.user01) gid=1770200513(domain users) groups=1770200513(domain users)
demo.user01@BJLX001:~$ echo $HOME
/home/demo.user01

添加域用户到sudo组

sudo usermod -aG sudo demo.user01

控制域用户登陆

# 加入域后,默认所有域用户可以登陆系统
# 添加只被允许的用户
sudo realm permit demo.user01@contoso.com
# 删除之前添加的用户
sudo realm permit -x demo.user01@contoso.com
# 相应的配置文件
sudo cat /etc/sssd/sssd.conf

其他相关配置文件

/etc/nsswitch.conf
/etc/pam.d/common-session
/var/lib/sss/

nslookup

nslookup
set type=srv
_ldap._tcp.contoso.com