33.2. Automount の設定

Identity Management では、場所やマップといった automount エントリーの設定には、既存の autofs または NFS サーバーが必要になります。automount エントリーを作成しても、基礎となる autofs 設定は作成されません。Autofs は、LDAP または SSSD をデータストアとして使用して手動で設定するか、自動で設定することが可能です。

注記

automount の設定を変更する前に、少なくとも 1 人のユーザーが /home ディレクトリーをコマンドラインから正常にマウントできるかテストしてください。NFS が正常に機能しているこを確認すると、後で IdM automount 設定エラーが発生しても解決が容易になります。

33.2.1. NFS の自動設定

システムを IdM クライアントとして設定したら (ドメインクライアントとして設定された IdM サーバーとレプリカを含む)、autofs は IdM ドメインを NFS ドメインとして使用するよう設定し、autofs サービスを有効にすることができます。
デフォルトでは、ipa-client-automount ユーティリティーは、/etc/sysconfig/nfs および /etc/idmapd.conf という NFS 設定ファイルを自動設定します。また、SSSD が NFS の認証情報を管理するようにも設定します。ipa-client-automount コマンドをオプションなしで実行すると、DNS 検索スキャンが実行されて利用可能な IdM サーバーを特定し、default という名前のデフォルトの場所を作成します。
[root@ipa-server ~]# ipa-client-automount
Searching for IPA server...
IPA server: DNS discovery
Location: default
Continue to configure the system with these values? [no]: yes
Configured /etc/nsswitch.conf
Configured /etc/sysconfig/nfs
Configured /etc/idmapd.conf
Started rpcidmapd
Started rpcgssd
Restarting sssd, waiting for it to become available.
Started autofs
IdM サーバーがデフォルト以外の automount の場所を使用、作成することも可能です。
[root@server ~]# ipa-client-automount --server=ipaserver.example.com --location=boston
NFS の設定に加え、ipa-client-automount ユーティリティーは外部の IdM ストアがアクセス不能になった場合に備えて、SSSD が automount マップをキャッシュするよう設定します。SSSD の設定では、以下の 2 つが実行されます。
  • サービスの設定情報が SSSD 設定に追加されます。IdM ドメインエントリーには、autofs プロバイダーとマウントの場所の設定があります。
    autofs_provider = ipa
    ipa_automount_location = default
    NFS がサポート対象サービスのリスト (services = nss,pam,autofs...) に追加され、空白の設定エントリー ([autofs]) が提供されます。
  • Name Service Switch (NSS) サービス情報が更新され、automount 情報についてまず SSSD がチェックされ、次にローカルファイルがチェックされます。
    automount: sss files
クライアントによる automount マップのキャッシュが適切でないといった、非常に安全性の高い環境のインスタンスでは、ipa-client-automount コマンドを --no-sssd オプションと実行することが可能です。その場合、必須の NFS 設定ファイルはすべて変更されますが、SSSD 設定は変更されません。
[root@server ~]# ipa-client-automount --no-sssd
--no-sssd を使用しないと、ipa-client-automount で更新される設定ファイルは違ったものになります。
  • /etc/sysconfig/nfs ではなく /etc/sysconfig/autofs が更新されます。
  • /etc/autofs_ldap_auth.conf を IdM LDAP 設定で設定します。
  • /etc/nsswitch.conf が automount マップに LDAP サービスを使用するよう設定されます。

注記

ipa-client-automount コマンドは 1 回しか実行できません。設定にエラーがある場合は、設定ファイルを手動で編集する必要があります。

33.2.2. autofs が SSSD と Identity Management を使用するよう手動で設定する手順

  1. /etc/sysconfig/autofs ファイルを編集し、autofs が検索するスキーマ属性を指定します。
    #
    # Other common LDAP naming
    #
    MAP_OBJECT_CLASS="automountMap"
    ENTRY_OBJECT_CLASS="automount"
    MAP_ATTRIBUTE="automountMapName"
    ENTRY_ATTRIBUTE="automountKey"
    VALUE_ATTRIBUTE="automountInformation"
  2. LDAP 設定を指定します。これには 2 通りの方法があります。最も簡単な方法は、automount サービスが LDAP サーバーのその場所を自分で発見するようにすることです。
    LDAP_URI="ldap:///dc=example,dc=com"
    別の方法では、使用する LDAP サーバーと LDAP 検索のベース DN を明示的に設定します。
    LDAP_URI="ldap://ipa.example.com"
    SEARCH_BASE="cn=location,cn=automount,dc=example,dc=com"

    注記

    location のデフォルト値は default です。新たな場所が追加されると (「場所の設定」)、クライアントがその場所を使用するように向けることができます。
  3. /etc/autofs_ldap_auth.conf ファイルを編集して、autofs が IdM LDAP サーバーを使ったクライアント認識を許可するようにします。
    • authrequired を yes に変更します。
    • プリンシパルを NFS クライアントサーバー用 Kerberos ホストプリンシパル host/fqdn@REALM に設定します。プリンシパル名は、GSS クライアント認証の一部として IdM ディレクトリーへの接続に使用されます。
    <autofs_ldap_sasl_conf
         usetls="no"
         tlsrequired="no"
         authrequired="yes"
         authtype="GSSAPI"
         clientprinc="host/server.example.com@EXAMPLE.COM" 
         />
    必要な場合は、klist -k を実行して正確なホストプリンシパル情報を取得します。
  4. autofs を、SSSD が管理するサービスとして設定します。
    1. SSSD 設定ファイルを開きます。
      [root@server ~]# vim /etc/sssd/sssd.conf
    2. autofs サービスを、SSSD が処理するサービス一覧に追加します。
      [sssd]
      services = nss,pam,autofs
    3. 新規の [autofs] セクションを作成します。これは空白のままにしても構いません。autofs サービスのデフォルト設定は、ほとんどのインフラストラクチャーで機能します。
      [nss]
      
      [pam]
      
      [sudo]
      
      [autofs]
      
      [ssh]
      
      [pac]
    4. オプションとして、autofs エントリーの検索ベースを設定します。デフォルトではこれは LDAP 検索ベースですが、ldap_autofs_search_base パラメーターでサブツリーを指定することもできます。
      [domain/EXAMPLE]
      ...
      ldap_search_base = "dc=example,dc=com"
      ldap_autofs_search_base = "ou=automount,dc=example,dc=com"
  5. SSSD を再起動します。
    [root@server ~]# systemctl restart sssd.service
  6. /etc/nsswitch.conf ファイルで、SSSD が automount 設定のソースに記載されていることを確認します。
    automount: sss files
  7. autofs を再起動します。
    [root@server ~]# systemctl restart autofs.service
  8. ユーザーの /home ディレクトリーを一覧表示して、設定をテストします。
    [root@server ~]# ls /home/userName
    これでリモートのファイルシステムがマウントされない場合は、/var/log/messages ファイルでエラーをチェックします。必要な場合は、/etc/sysconfig/autofs ファイルで LOGGING パラメーターを debug に設定してデバッグレベルを高めます。

注記

automount で問題がある場合は、IdM インスタンスの 389 Directory Server アクセスログで automount 試行を相互参照します。ここでは、試行されたアクセス、ユーザー、および検索ベースが表示されます。
またシンプルな方法では、automount をフォアグラウンドで実行し、デバッグのログを記録します。
automount -f -d
これで LDAP のアクセスログと automount のログを相互参照することなく、デバッグのログ情報が直接出力されます。

33.2.3. Solaris での Automount の設定

注記

Solaris では、Identity Management で使用されるスキーマとは別のスキーマを autofs 設定に使用します。Identity Management では 2307bis-style automount スキーマが使用され、これは 389 Directory Server で定義されています (また、IdM の内部 Directory Server インスタンスでも使用されています)。
  1. NFS サーバーが Red Hat Enterprise Linux 上で稼働している場合、Solaris マシン上で NFSv3 が最大のサポートバージョンであることを指定します。/etc/default/nfs ファイルで以下のパラメーターを設定します。
    NFS_CLIENT_VERSMAX=3
  2. ldapclient コマンドを使って、ホストが LDAP を使用するように設定します。
    ldapclient -v manual -a authenticationMethod=none 
        -a defaultSearchBase=dc=example,dc=com 
        -a defaultServerList=ipa.example.com 
        -a serviceSearchDescriptor=passwd:cn=users,cn=accounts,dc=example,dc=com 
        -a serviceSearchDescriptor=group:cn=groups,cn=compat,dc=example,dc=com 
        -a serviceSearchDescriptor=auto_master:automountMapName=auto.master,cn=location,cn=automount,dc=example,dc=com?one 
        -a serviceSearchDescriptor=auto_home:automountMapName=auto_home,cn=location,cn=automount,dc=example,dc=com?one 
        -a objectClassMap=shadow:shadowAccount=posixAccount 
        -a searchTimelimit=15 
        -a bindTimeLimit=5
  3. automount を有効にします。
    # svcadm enable svc:/system/filesystem/autofs
  4. 設定をテストします。
    1. LDAP 設定を確認します。
      # ldapclient -l auto_master
      
      dn: automountkey=/home,automountmapname=auto.master,cn=location,cn=automount,dc=example,dc=com
      objectClass: automount
      objectClass: top
      automountKey: /home
      automountInformation: auto.home
    2. ユーザーの /home ディレクトリーを一覧表示します。
      # ls /home/userName