Scroll to navigation

AUTHSELECT-MIGRATIO(7)   AUTHSELECT-MIGRATIO(7)

NAME

authselect-migration - authconfig から authselect への移行方法を示したガイド。

説明

この man ページでは、authconfig と authselect の主な違いについて説明します。authconfig は、システム認証およびアイデンティティーソースを設定するツールの旧バージョンで、authselect は新バージョンになります。authconfig から authselect への移行に必要なアクションについても説明します。

主な差異

authselect ツールは、システム設定に対して旧バージョンの authconfig とはまったく異なるアプローチをとります。

authconfig は、生成したファイルに対してユーザーが実施する手動での変更を維持するよう最善を尽くします。(認証モジュールとアイデンティティーソースのセットアップ用に) PAM 設定ファイルおよび nsswitch.conf を生成するだけでなく、LDAP および Kerberos などのいくつかのサービス用に簡単な設定ファイルも生成します。

authselect は、そのようなことはしません。PAM および nsswitch.conf 以外の設定ファイルは生成しません。また、生成された設定に対する手動での変更を固く禁止しています。プロファイルと呼ばれるファイルのセットを提供します。各プロファイルは、結果として得られる設定について説明し、特定のオプション機能を有効化または無効化することで若干変更することができます。authselect が出荷するプロファイルとは別のプロファイルへのニーズが生じた場合、管理者は、オプションでまったく新しいプロファイルを作成して authselect と共に使用することができます。プロファイルの詳細は、authselect-profiles(5) を参照してください。

これは大きな欠点と思えるかもしれませんが、実際はその反対です。authconfig は非常に古いツールで、必要なサービスを提供するアプリケーションは、ここ数年で急激に変化しました。一般に、PAM および nsswitch.conf では、複数の認証モジュールはもう必要ありません。なぜなら、ユースケースの大部分は SSSD でカバーされるからです。 したがって、それらを特に追加したり削除したりする必要がありません。「レルム」などのリモートドメインに参加するプロセスの自動化を支援できるシステムデーモンの設定を生成するより優れたツールもあります。さらに、出荷されたプロファイルのシステム設定は、完全にテストが可能で、大幅にエラーが起こりにくい包括的かつ決定論的なものとなっています。また、このような設定を多くのシステムに渡って配布することは、格段に簡単になります。

おそらく、最も問題視されている変更は、authselect がプロファイルを sssd プロバイダーと winbind プロバイダーのみに出荷する点です。これらの 2 つのプロバイダーは、ローカルユーザーとレガシー LDAP ドメインの提供から、IPA サーバーまたは Active Directory サーバーを使用した複雑な設定まで、現在のすべてのユースケースをカバーします。プロファイルは今後、nss-pam-ldapd をサポートしません。ユーザーには、sssd への乗り換えを推奨しています。

リモートドメインへの参加

IPA ドメインへの参加には、「ipa-client-install」または「レルム」のいずれかを使用でき、Active Directory ドメインへの参加には「レルム」を使用できます。これらのツールは、正しい authselect プロファイルが選択され、すべてのデーモンおよびサービスが正しく設定されていることを確認します。

スクリプトの変換

ドメインへの参加に「ipa-client-install」または「レルム」を使用する場合は、単にスクリプト内の authconfig コールを削除します。このオプションを利用できない場合は、必要な機能を持つ正しいプロファイルを選択するために、各 authconfig コールをこれと同等の authselect コールと置き換える必要があります。続いて、必要なサービスに設定ファイルを書き込む必要もあります。

Table 1. authselect プロファイルに対する authconfig オプションの関係

Authconfig options Authselect profile
--enableldap --enableldapauth sssd
--enablesssd --enablesssdauth sssd
--enablekrb5 sssd
--enablewinbind --enablewinbindauth winbind
--enablenis nis

Table 2. authselect プロファイル機能に対する authconfig オプションの関係

Authconfig options Authselect profile feature
--enablesmartcard with-smartcard
--enablefingerprint with-fingerprint
--enablemkhomedir with-mkhomedir
--enablefaillock with-faillock
--enablepamaccess with-pamaccess
--enablewinbindkrb5 with-krb5
--enableshadow none
--passalgo none


Note

Authconfig オプション --enableshadow`と --passalgo = sha512`は、パスワードが sha512`アルゴリズムを使用して / etc / shadow`に確実に保存されるようにするためによく使用されていました。 * authselect プロファイルはsha512ハッシュメソッドを使用するようになりました*。オプションを使用して変更することはできません(カスタムプロファイルを作成する場合のみ)。 これらのオプションは省略できます。

.

authconfig --enableldap --enableldapauth --enablefaillock --updateall
authselect select sssd with-faillock
authconfig --enablesssd --enablesssdauth --enablesmartcard --smartcardmodule=sssd --updateall
authselect select sssd with-smartcard
authconfig --enablepamaccess --updateall
authselect select sssd with-pamaccess
authconfig --enablewinbind --enablewinbindauth --winbindjoin=Administrator --updateall
realm join -U Administrator --client-software=winbind WINBINDDOMAIN

設定ファイル

本セクションには、様々なサービスの最小限の設定に関するスニペットが含まれています。

LDAP

LDAP が「pam_ldap」および「nss_ldap」を介して直接的に使用されていない場合でも、openldap-libs の設定、そして間接的に ldapsearch などの LDAP ツールを設定するために ldap.conf を設定することは有用です。

/etc/openldap/ldap.conf.

# Set the default base dn
BASE   dc=example,dc=com
# Set the default LDAP server
URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

Kerberos

Kerberos を使用する場合、デフォルトの Kerberos レルムは krb5-libs のために設定されなければなりません。それによって、「kinit」などのツールが追加設定なしで機能するようになります。

/etc/krb5.conf.

[libdefaults]

default_realm = MYREALM [realms]
MYREALM = {
kdc = kdc.myrealm.org
} [domain_realm]
myrealm.org = MYREALM
.myrealm.org = MYREALM

SSSD

authselect は、可能な限り SSSD を使用するようユーザーに推奨しています。多くの設定オプションがあります。詳細は sssd.conf(5) を参照してください。これは「デフォルト」と呼ばれる 1 つの LDAP ドメインを作成する最小限の設定です。LDAP サーバーは、DNS ルックアップを使用して自動検出されます。

/etc/sssd/sssd.conf.

[sssd]
config_file_version = 2
domains = default
[domain/default]
id_provider = ldap
ldap_uri = _srv_
dns_discovery_domain = myrealm

これは、同じドメインの設定スニペットですが、認証には Kerberos を使用します。KDC サーバーは、DNS ルックアップを使用して自動検出されます。

/etc/sssd/sssd.conf.

[sssd]
config_file_version = 2
domains = default
[domain/default]
id_provider = ldap
auth_provider = krb5
ldap_uri = _srv_
krb5_server = _srv_
krb5_realm = MYREALM
dns_discovery_domain = myrealm

IPA または Active Directory ドメイン用に SSSD を設定したい場合は、「レルム」ツールを使用します。これにより、Kerberos keytab の作成および SSSD の基本設定の生成などの初期設定が実行されます。調整するには、{sysconfdir}/sssd/sssd.conf を変更します。

Winbind

マシンを設定して Winbind を使用するには「レルム」を使います。これにより、Kerberos keytab の作成およびドメインに参加するために「adcli」を実行するなどの初期設定が実行されます。「smb.conf」にも変更を加えます。調整するには、/etc/samba/smb.conf を変更します。

NIS

NIS 認証を機能させる上で設定が必要な箇所がいくつかあります。まず、NIS ドメインを設定する必要があり、オプションで /etc/yp.conf に NIS サーバーも設定します。

/etc/yp.conf.

domain mydomain broadcast
# or
# domain mydomain server myserver

NIS ドメインは、システムネットワーク設定でも設定される必要があります。

/etc/sysconfig/network.

NISDOMAIN=mydomain

続いて、システムを再起動する必要がないように、コマンドラインでドメイン名を設定することができます。さらに、selinux の NIS を有効にする必要があるかもしれません。

$ domainname mydomain
$ setsebool -P allow_ypbind 1

パスワードの品質

authselect は「pam_pwquality」モジュールを有効にし、パスワード品質制限を実施します。このモジュールは、ローカルユーザーに対してのみ有効となります。リモートユーザーは、各リモートサーバーが実行するパスワードポリシーを使用する必要があります。

「pam_pwquality」モジュールは、/etc/security/pwquality.conf に設定できます。設定オプションとデフォルトの詳細は pam_pwquality(8) を参照してください。

サービスの起動

設定によっては、 systemd を使用して必要なサービスを手動で開始する必要があります。

•SSSD

systemctl は sssd.service を有効にします ; systemctl は sssd.service を開始します

•Winbind

systemctl は winbind.service を有効にします ; systemctl は winbind.service を開始します

•NIS

systemctl は rpcbind.service を有効にします ; systemctl は rpcbind.service を開始します
systemctl は ypbind.service を有効にします ; systemctl は ypbind.service を開始します

•mkhomedir 機能が有効な場合

systemctl は oddjobd.service を有効にします ; systemctl は oddjobd.service を開始します

AUTHCONFIG ツール

authconfig は、cacertdir_rehash と呼ばれるツールを出荷しました。このツールに依存する場合は、同じ目的を持つ native openssl command: openssl rehash <directory> に切り替えてください。

以下も参照してください

authselect(8)、authselect-profiles(5)、realm(8)、ipa-client-install(1)、sssd.conf(5)、smb.conf(5)、ldap.conf(5)、krb5.conf(5)

2021-06-05