SSSD および Realm を使用して Ubuntu を Samba4 AD DC に統合する - パート 15
このチュートリアルでは、SSSD と Realmd を使用してUbuntu デスクトップマシンをSamba4 Active Directoryドメインに参加させる方法について説明します。 > Active Directory に対してユーザーを認証するためのサービス。
要件:
- 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.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. 最後に、マシン時間が 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 に統合するためにも同じ手順を適用できます。