ドメイン参加(Linux)

Linux クライアントを作成したドメインに参加させます。
端末は、CentOS8で。

必要なパッケージをインストールします。

# dnf -y install realmd \
                 sssd \
                 oddjob \
                 oddjob-mkhomedir \
                 adcli \
                 samba-common-tools \
                 krb5-workstation

ドメインが検索できるかチェック。

# realm discover LAB.LOCAL
lab.local
  type: kerberos
  realm-name: LAB.LOCAL
  domain-name: lab.local
  configured: no
  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

ドメイン参加。Administrator で参加を実行。

# realm join -U Administrator LAB.LOCAL
Administrator に対するパスワード:
# id Administrator@lab.local
uid=1571000500(administrator@lab.local) gid=1571000513(domain users@lab.local) groups=1571000513(domain users@lab.local),1571000519(enterprise admins@lab.local),1571000512(domain admins@lab.local),1571000518(schema admins@lab.local),1571000520(group policy creator owners@lab.local),1571000572(denied rodc password replication group@lab.local)

ログインIDにドメイン名省略(use_fully_qualified_names を False)、/homeに作られるホームディレクトリもドメイン名省略する(fallback_homedir を /home/%u)ように設定を修正。

# vi /etc/sssd/sssd.conf
# cat /etc/sssd/sssd.conf
[sssd]
domains = lab.local
config_file_version = 2
services = nss, pam

[domain/lab.local]
ad_domain = lab.local
krb5_realm = LAB.LOCAL
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u
access_provider = ad
# systemctl restart sssd


ドメインのユーザで、sudo コマンドを使えるように細工する。
方法としては、ドメインに sudo を利用できるグループを作成し、ユーザを所属させる。
Linuxには、wheelグループがあるが、作成したグループの ID が異なるため、wheel グループを作成して所属しても、sudo コマンドは利用できない。
そこで、visudo コマンドを実行し、作成したグループを追記して、利用できるようにする。
以下のコマンドを dc.lab.local で実行して、グループ作成

# samba-tool group add "sudousers"
Added group sudousers

以下のコマンドを Linuxクライアントで実行して、sudo グループ 設定を実施。

# echo "%sudousers ALL=(ALL) ALL" | EDITOR='tee -a' visudo >/dev/null