Debian 11 Bullseye
Sponsored Link

Active Directory ドメインに参加する2021/08/19

 
Windows の Active Directory ドメインに参加します。
ローカルネットワーク内に Active Directory Domain Service が稼働していることが前提です。
当例では、以下のような Active Directory ドメイン環境で設定します。
ドメインサーバー : Windows Server 2019
ドメイン名 : srv.world
ホスト名 : fd3s.srv.world
NetBIOS 名 : FD3S01
レルム : SRV.WORLD
[1] 必要なパッケージをインストールしておきます。
root@dlp:~#
apt -y install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
[2] Active Directory ドメインに参加します。
# 参照する DNS を AD に変更しておく

root@dlp:~#
vi /etc/resolv.conf
domain srv.world
search srv.world
nameserver 10.0.0.100

# Active Directory ドメインを discover する

root@dlp:~#
realm discover SRV.WORLD

srv.world
  type: kerberos
  realm-name: SRV.WORLD
  domain-name: srv.world
  configured: no
  server-software: active-directory
  client-software: sssd
  required-package: sssd-tools
  required-package: sssd
  required-package: libnss-sss
  required-package: libpam-sss
  required-package: adcli
  required-package: samba-common-bin

# Active Directory ドメインに join する

root@dlp:~#
realm join SRV.WORLD

Password for Administrator:  
# AD の Administrator パスワード
# 任意の AD ユーザーの情報が取得できるか確認

root@dlp:~#
id Serverworld@srv.world

uid=1109001103(serverworld@srv.world) gid=1109000513(domain users@srv.world) groups=1109000513(domain users@srv.world)

# 必要があれば変更

root@dlp:~#
vi /etc/pam.d/common-session
# 最終行に追記 (ログイン時にホームディレクトリを自動作成)

session optional        pam_mkhomedir.so skel=/etc/skel umask=077

# 任意の AD ユーザーでログイン可能か確認

root@dlp:~#
exit
logout

Debian GNU/Linux 11 dlp.srv.world ttyS0

dlp login: serverworld@srv.world
Password:
Linux dlp.srv.world 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Creating directory '/home/serverworld@srv.world'.
serverworld@srv.world@dlp:~$     # ログインできた
[3] AD ユーザーを指定する際に、ドメイン名を省略したい場合は、以下のように設定します。
root@dlp:~#
vi /etc/sssd/sssd.conf
# 16行目 : 変更

use_fully_qualified_names =
False
root@dlp:~#
systemctl restart sssd

root@dlp:~#
id Administrator

uid=1109000500(administrator) gid=1109000513(domain users) groups=1109000513(domain users),1109000520(group policy creator owners),1109000518(schema admins),1109000512(domain admins),1109000519(enterprise admins),1109000572(denied rodc password replication group)
[4]
AD ユーザーの UID/GID はランダムに割り当てられますが、固定したい場合は、以下のように設定します。
事前に、こちらの [2] 以降を参考に Active Directory 側で AD ユーザーに UNIX 属性を追加しておきます
当例ではリンク先の通り、[uidNumber/gidNumber] 属性を追加して進めます。
次に Debian 側で SSSD の設定を変更します。
root@dlp:~#
vi /etc/sssd/sssd.conf
# 17行目 : 変更

ldap_id_mapping =
False
# 最終行に追記

ldap_user_uid_number = uidNumber
ldap_user_gid_number = gidNumber
# キャッシュをクリアして再起動

root@dlp:~#
rm -f /var/lib/sss/db/*

root@dlp:~#
systemctl restart sssd
root@dlp:~#
id serverworld

uid=5000(serverworld) gid=5000 groups=5000
関連コンテンツ