ウェブサイト検索

SSSD および Realm を使用して Ubuntu を Samba4 AD DC に統合する - パート 15


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

要件:

  1. Ubuntu 上で Samba4 を使用して Active Directory インフラストラクチャを作成する

ステップ 1: 初期構成

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

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

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

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

上のスクリーンショットでは、192.168.1.254192.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. 最後に、マシン時間が Samba4 AD と同期していることを確認します。次のコマンドを実行して、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 
sudo klist

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

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

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 
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 コマンドを発行して、Winbind nsswitch モジュールを確認します。

sudo getent passwd your_domain_user
sudo getent group ‘domain admins’

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

id tecmint_user

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

su - your_ad_user

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

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

sudo usermod -aG sudo [email 

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

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

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

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

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

your_domain_username または your_domain_username@your_domain.tld のいずれかの構文を使用して、ドメイン アカウントで Ubuntu Desktop にログインします。

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

full_name_format = %1$s

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

sudo systemctl restart sssd

bash プロンプトが、対応するドメイン名を追加せずに、AD ユーザーの短縮名に変更されることがわかります。

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

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

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