Ubuntu 21.04
Sponsored Link

Active Directory ドメインに参加する2021/04/29

 
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/netplan/01-netcfg.yaml
    nameservers:
        addresses: [10.0.0.100]

root@dlp:~#
netplan apply
# 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=691201105(serverworld@srv.world) gid=691200513(domain users@srv.world) groups=691200513(domain users@srv.world),691200572(denied rodc password replication group@srv.world),691200512(domain admins@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

Ubuntu 21.04 dlp.srv.world ttyS0

dlp login: serverworld@srv.world
Password:
Welcome to Ubuntu 21.04 (GNU/Linux 5.11.0-16-generic x86_64)

.....
.....

Creating directory '/home/serverworld@srv.world'.
serverworld@srv.world@dlp:~$     # ログインできた
[3] AD ユーザーを指定する際に、ドメイン名を省略したい場合は、以下のように設定します。
root@dlp:~#
vi /etc/sssd/sssd.conf
# 15行目 : 変更

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

root@dlp:~#
id Administrator

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

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
関連コンテンツ