UbuntuをSSSDとレルムを使用してSamba4ADDCに統合する-パート15


このチュートリアルでは、Active Directoryに対してユーザーを認証するために、SSSDおよびRealmdサービスを使用してUbuntuデスクトップマシンをSamba4 ActiveDirectoryドメインに参加させる方法について説明します。

  1. Create an Active Directory Infrastructure with Samba4 on Ubuntu

ステップ1:初期構成

1.UbuntuをActiveDirectoryに参加させる前に、ホスト名が正しく構成されていることを確認してください。 hostnamectlコマンドを使用してマシン名を設定するか、/ etc/hostnameファイルを手動で編集します。

$ sudo hostnamectl set-hostname your_machine_short_hostname
$ cat /etc/hostname
$ hostnamectl

2.次のステップで、マシンのネットワークインターフェイス設定を編集し、適切なIP構成と正しいDNS IPサーバーアドレスを追加して、次のスクリーンショットに示すようにSambaADドメインコントローラーをポイントします。

LANマシンのIP設定に適切なADDNS IPアドレスを自動的に割り当てるように構内でDHCPサーバーを構成している場合は、この手順をスキップして先に進むことができます。

上のスクリーンショットでは、192.168.1.254と192.168.1.253はSamba4ドメインコントローラーのIPアドレスを表しています。

3.ネットワークサービスを再起動して、GUIまたはコマンドラインから変更を適用し、ドメイン名に対して一連のpingコマンドを発行して、DNS解決が期待どおりに機能しているかどうかをテストします。また、hostコマンドを使用してDNS解決をテストします。

$ sudo systemctl restart networking.service
$ host your_domain.tld
$ ping -c2 your_domain_name
$ ping -c2 adc1
$ ping -c2 adc2

4.最後に、マシン時間がSamba4ADと同期していることを確認します。以下のコマンドを発行して、ntpdateパッケージをインストールし、ADと時刻を同期します。

$ sudo apt-get install ntpdate
$ sudo ntpdate your_domain_name

ステップ2:必要なパッケージをインストールする

5.このステップで、UbuntuをSamba4 AD DCに参加させるために必要なソフトウェアと必要な依存関係をインストールします:RealmdおよびSSSDサービス。

$ sudo apt install adcli realmd krb5-user samba-common-bin samba-libs samba-dsdb-modules sssd sssd-tools libnss-sss libpam-sss packagekit policykit-1 

6.デフォルトのレルムの名前を大文字で入力し、Enterキーを押してインストールを続行します。

7.次に、以下の内容でSSSD設定ファイルを作成します。

$ sudo nano /etc/sssd/sssd.conf

sssd.confファイルに次の行を追加します。

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
reconnection_retries = 3

[sssd]
domains = tecmint.lan
config_file_version = 2
services = nss, pam
default_domain_suffix = TECMINT.LAN


[domain/tecmint.lan]
ad_domain = tecmint.lan
krb5_realm = TECMINT.LAN
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%d/%u
access_provider = ad

auth_provider = ad
chpass_provider = ad
access_provider = ad
ldap_schema = ad
dyndns_update = true
dyndns_refresh_interval = 43200
dyndns_update_ptr = true
dyndns_ttl = 3600

それに応じて、次のパラメータのドメイン名を必ず置き換えてください。

domains = tecmint.lan
default_domain_suffix = TECMINT.LAN
[domain/tecmint.lan]
ad_domain = tecmint.lan
krb5_realm = TECMINT.LAN

8.次に、以下のコマンドを発行して、SSSDファイルの適切なアクセス許可を追加します。

$ sudo chmod 700 /etc/sssd/sssd.conf

9.次に、Realmd構成ファイルを開いて編集し、次の行を追加します。

$ sudo nano /etc/realmd.conf

Realmd.confファイルの抜粋:

[active-directory]
os-name = Linux Ubuntu
os-version = 17.04

[service]
automatic-install = yes

 [users]
default-home = /home/%d/%u
default-shell = /bin/bash

[tecmint.lan]
user-principal = yes
fully-qualified-names = no

10.変更する必要がある最後のファイルは、Sambaデーモンに属しています。編集用に/etc/samba/smb.confファイルを開き、次の画像に示すように、ファイルの先頭の[global]セクションの後に次のコードブロックを追加します。

 workgroup = TECMINT
   client signing = yes
   client use spnego = yes
   kerberos method = secrets and keytab
   realm = TECMINT.LAN
   security = ads

ドメイン名の値、特にドメイン名と一致するレルム値を置き換えて、構成ファイルにエラーが含まれていないかどうかを確認するためにtestparmコマンドを実行してください。

$ sudo testparm

11.必要な変更をすべて行った後、AD管理アカウントを使用してKerberos認証をテストし、以下のコマンドを発行してチケットを一覧表示します。

$ sudo kinit [email protected]
$ sudo klist

ステップ3:UbuntuをSamba4レルムに参加させる

12.UbuntuマシンをSamba4Active Directoryに参加させるには、以下に示す一連のコマンドに従って問題を解決します。レルムへのバインドが期待どおりに機能し、それに応じてドメイン名の値を置き換えるには、管理者権限を持つADDCアカウントの名前を使用します。

$ sudo realm discover -v DOMAIN.TLD
$ sudo realm list
$ sudo realm join TECMINT.LAN -U ad_admin_user -v
$ sudo net ads join -k

13.ドメインバインディングが行われた後、以下のコマンドを実行して、すべてのドメインアカウントがマシンでの認証を許可されていることを確認します。

$ sudo realm permit --all

その後、以下の例に示すように、realmコマンドを使用して、ドメインユーザーアカウントまたはグループへのアクセスを許可または拒否できます。

$ sudo realm deny -a
$ realm permit --groups ‘domain.tld\Linux Admins’
$ realm permit [email protected]
$ realm permit DOMAIN\\User2

14. RSATツールがインストールされているWindowsマシンから、AD UCを開き、[コンピューター]コンテナーに移動して、マシンの名前のオブジェクトアカウントが作成されているかどうかを確認できます。

手順4:ADアカウント認証を構成する

15.ドメインアカウントを使用してUbuntuマシンで認証するには、root権限でpam-auth-updateコマンドを実行し、最初のログイン時に各ドメインアカウントのホームディレクトリを自動的に作成するオプションを含むすべてのPAMプロファイルを有効にする必要があります。

[スペース]キーを押してすべてのエントリを確認し、[OK]をクリックして構成を適用します。

$ sudo pam-auth-update

16.システムでは、認証されたドメインユーザーのホームを自動的に作成するために、/ etc/pam.d/common-accountファイルと次の行を手動で編集します。

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

17. Active DirectoryユーザーがLinuxのコマンドラインからパスワードを変更できない場合は、/ etc/pam.d/common-passwordファイルを開き、パスワード行からuse_authtokステートメントを削除して、最終的に以下の抜粋のようにします。

password       [success=1 default=ignore]      pam_winbind.so try_first_pass

18.最後に、以下のコマンドを発行して、RealmdおよびSSSDサービスを再起動し、変更を適用できるようにします。

$ sudo systemctl restart realmd sssd
$ sudo systemctl enable realmd sssd

19. Ubuntuマシンがレルムに正常に統合されたかどうかをテストするには、インストールwinbindパッケージを実行し、wbinfoコマンドを実行して、以下に示すようにドメインアカウントとグループを一覧表示します。

$ sudo apt-get install winbind
$ wbinfo -u
$ wbinfo -g

20.また、特定のドメインユーザーまたはグループに対してgetentコマンドを発行して、Winbindnsswitchモジュールを確認します。

$ sudo getent passwd your_domain_user
$ sudo getent group ‘domain admins’

21.以下のコマンドに示すように、Linuxidコマンドを使用してADアカウントに関する情報を取得することもできます。

$ id tecmint_user

22. Samba4 ADアカウントを使用してUbuntuホストで認証するには、su –コマンドの後にdomainusernameパラメーターを使用します。 idコマンドを実行して、ADアカウントに関する追加情報を取得します。

$ su - your_ad_user

pwdコマンドを使用してドメインユーザーの現在の作業ディレクトリを確認し、パスワードを変更する場合はpasswdコマンドを使用します。

23. Ubuntuマシンでroot権限を持つドメインアカウントを使用するには、次のコマンドを発行して、ADユーザー名をsudoシステムグループに追加する必要があります。

$ sudo usermod -aG sudo [email protected]

ドメインアカウントでUbuntuにログインし、aptupdateコマンドを実行してroot権限を確認してシステムを更新します。

24.ドメイングループのroot権限を追加するには、visudoコマンドを使用してend edit/etc/sudoersファイルを開き、図のように次の行を追加します。

%domain\ [email protected]       		 ALL=(ALL:ALL) ALL

25. Ubuntuデスクトップのドメインアカウント認証を使用するには、/ usr/share/lightdm/lightdm.conf.d/50-ubuntu.confファイルを編集してLightDMディスプレイマネージャーを変更し、次の2行を追加して、lightdmサービスを再起動するか、マシンを再起動します。変更します。

greeter-show-manual-login=true
greeter-hide-users=true

your_domain_usernameまたは[emailprotected] _domain.tld構文を使用して、ドメインアカウントでUbuntuデスクトップにログインします。

26. Samba ADアカウントに短い名前の形式を使用するには、/ etc/sssd/sssd.confファイルを編集し、以下に示すように[sssd]ブロックに次の行を追加します。

full_name_format = %1$s

SSSDデーモンを再起動して変更を適用します。

$ sudo systemctl restart sssd

bashプロンプトが、対応するドメイン名を追加せずにADユーザーの短い名前に変わることに気付くでしょう。

27.sssd.confにenumerate u003d true引数が設定されているためにログインできない場合は、以下のコマンドを発行して、sssdのキャッシュされたデータベースをクリアする必要があります。

$ rm /var/lib/sss/db/cache_tecmint.lan.ldb

それで全部です!このガイドは主にSamba4Active Directoryとの統合に焦点を当てていますが、UbuntuとRealmdおよびSSSDサービスをMicrosoft Windows Server ActiveDirectoryに統合するために同じ手順を適用できます。