Active DirectoryとLinuxの認証を統合しよう

第3回 SUAのNIS機能による認証統合[2]

この記事を読むのに必要な時間:およそ 4 分

前回までで,SUAのNIS機能による認証統合について,最低限の設定方法を紹介しました。今回は,引き続きエラーを解消するための設定とLinuxサーバからADへのパスワード同期を実現するSUAのパスワード同期機能について説明します。 以下,具体的に設定方法を説明します。

pam_mkhomedirモジュールによるホームディレクトリの自動作成

前回紹介した設定を行うことで,認証の統合は実現できましたが,認証とは関係ない各ユーザのホームディレクトリは別途手作業で作成する必要があります。これではせっかく認証を統合したメリットが半減してしまいます。

そこで今回はpam_mkhomedirというPAMモジュールによるホームディレクトリの自動作成を紹介しましょう。

pam_mkhomedirモジュールはpamパッケージに含まれています。CentOS 5.2の場合,pamパッケージは必ずインストールされますので,パッケージのインストール作業自体は不要です。

CentOS 5.2では,以下のようにauthconfigコマンドにオプションを付けて実行することで,必要なファイルが適切に変更され,モジュールが有効となります。

# authconfig --enablemkhomedir --update

通常の設定を行っている場合は※1),/etc/pam.d/system-authファイルの末尾に

session     required    pam_mkhomedir.so

という行が追加されます。

※1)
/etc/pam.d/system-authを手動で生成していたり,特殊な設定を行っていたりした場合は,それに応じた設定を行わないと有効にならない場合があります。

このモジュールには,表1のオプションを設定することが可能です。

表1 pam_mkhomedirモジュールのオプション

オプション デフォルト値 意味
skel /etc/skel ドットファイルのテンプレートが存在するディレクトリ
umask 0022 ホームディレクトリのumask

「skel=」に続いて作成したホームディレクトリに,コピーするドットファイル群が置かれているディレクトリを指定します。通常はデフォルトのままでよいでしょう。

「umask=」に続いて作成するホームディレクトリのumaskを指定します。作成するホームディレクトリのパーミッションは,この値と0777とのANDで設定されますので,デフォルト値の場合,ホームディレクトリのパーミッションは755になります。たとえばパーミッションを700にしたい場合は,umask=0077としてください。

SUAのパスワード同期機能

前回説明したように,SUAのNISサーバ機能によるパスワードの同期機能は,AD→Linuxの一方通行となります。

SUAではUNIX属性のひとつとしてLinux用のパスワードを保持しています。前回説明した「Windows から NIS(Active Directory)へのパスワード同期」「有効にする」チェックボックスをチェックすることで,ADのパスワードを変更する際には同時にUNIX属性のパスワードも変更されます。しかし,Linuxサーバ上でLinuxユーザのパスワードを変更した場合,UNIX属性のパスワードは変更されるものの,ADのパスワードを同期して変更させる機能がありません。この場合,ADのパスワードとUNIX属性のパスワードが異なるパスワードになってしまいます。

図1 SUAのパスワード同期の問題点

図1 SUAのパスワード同期の問題点

双方向の同期を実現するには,SUAに付属するパスワード同期機能を構成します。パスワード同期機能はNISサーバ機能と無関係に双方向のパスワード同期を実現させることが可能な機能ですが,今回はNISサーバ機能との連係にあたって必要な,Linux→Windows(AD)のパスワード同期機能に限って,設定方法を説明します。

ただし,Windows Server 2008に付属のパスワード同期機能の場合,マイクロソフト社によってサポートされているプラットフォームは表2に示したもののみです。RHELの最新版である5やHP-UXの最新版であるHP-UX 11i v3がサポートされていない等,サポート対象のプラットフォームについては難があるのが実状です。

表2 パスワード同期機能のサポート対象プラットフォーム

対応プラットフォーム プラットフォーム名
Solaris 10(SPARC版) sol
RHEL4/SUSE Linux Enterprise Server 10 rhl※2
HP-UX 11i v1 hpx
AIX 5L 5.2/5.3 aix
※2)
ドキュメントではSUSEについてはsusというプラットフォーム名のファイルが別途存在することになっていますが,実際のバイナリには存在しません。

以下,CentOS 5.2を例に設定しますが,正式にサポートされている環境ではありません※3)。

※3)
UNIX側についてはソースが添付されており,改変も許諾されています。そのため,バイナリが動作しないプラットフォームについても動作させることは不可能ではありませんが,ビルドはかなり困難で,一般の管理者が行うのは難しいでしょう。

著者プロフィール

たかはし もとのぶ

大学卒業後,株式会社NTTデータに入社。数年間UNIX上でのプログラム開発に携わった後,クライアント/サーバシステム全般に関する技術支援業務を行う部署に異動し現在に至る。「日本Sambaユーザ会」スタッフなどを務め,オープンソース,Microsoft双方のコミュニティ活動に関わるとともに,各種雑誌への記事執筆や,講演などの活動を行っている。2005年6月には「Sambaのすべて」を出版。

コメント

コメントの記入