第6章 authconfig を使用したカスタムホームディレクトリーの有効化

LDAP ユーザーのホームディレクトリーが /home 以外の場所にあり、かつユーザーの初回ログイン時にシステムがホームディレクトリーを作成するように設定されている場合は、これらのディレクトリーは間違ったパーミッションで作成されてしまいます。
  1. /home ディレクトリーから正しい SELinux コンテキストとパーミッションをローカルシステム上で作成されたホームディレクトリーに適用します。例を示します。
    [root@server ~]# semanage fcontext -a -e /home /home/locale
  2. oddjob-mkhomedir パッケージをシステムにインストールします。
    このパッケージは、pam_oddjob_mkhomedir.so ライブラリーを提供し、authconfig コマンドはこのライブラリーを使用してホームディレクトリーを作成します。デフォルトの pam_mkhomedir.so ライブラリーとは異なり、pam_oddjob_mkhomedir.so ライブラリーは SELinux ラベルを作成できます。
    authconfig コマンドは、pam_oddjob_mkhomedir.so ライブラリーが利用可能な場合には、自動的にこれを使用します。利用可能でない場合には、デフォルトの pam_mkhomedir.so ライブラリーを使用します。
  3. oddjobd サービスが実行されていることを確認します。
  4. authconfig コマンドを実行して、ホームディレクトリーを有効にします。コマンドラインでは、--enablemkhomedir オプションを使うとこれが実行できます。
    [root@server ~]# authconfig --enablemkhomedir --update
    UI では、高度なオプション タブ (利用者の最初のログイン時にホームディレクトリーを作成する) オプションを選択するとユーザーの初回ログイン時に自動的にホームディレクトリーが作成されます。
    ホームディレクトリーオプション

    図6.1 ホームディレクトリーオプション

    このオプションは、LDAP などアカウントを集中的に管理している場合に便利です。しかし、ユーザーのホームディレクトリー管理に automount のようなシステムを使用している場合は、このオプションを選択しないでください。
ホームディレクトリーの設定変更前にホームディレクトリーが作成された場合は、パーミッションと SELinux コンテキストを訂正します。例を示します。
[root@server ~]# semanage fcontext -a -e /home /home/locale
# restorecon -R -v /home/locale