QNAP NASにはユーザーの認証情報を保管・提供するLDAPサーバ機能があります。これにより、多数のLinuxマシンとMacのユーザー管理を一元化することができます。つまり、このLDAPサーバにユーザーアカウントを作成するだけで、LDAPクライアントのマシン全てに自動的に同じユーザーアカウントが作成されます。利用者は共通のユーザー名とパスワードでログインできるようになります。さらに、ファイル共有機能を適切に設定することで、Linuxマシンは共通のホームディレクトリを使用することができ、データ転送が不要になります。ただし、WindowsはLDAPサーバに登録したユーザー名とパスワードで共有フォルダにアクセスすることができますが、ログイン認証には使えませんし、パスワード変更もできません。ドメインコントローラとの違いをまとめると下記のようになります。
機能 | ドメインコントローラ | LDAPサーバ |
---|---|---|
Windowsのユーザー認証 | Yes | No |
Macのユーザー認証 | Yes | Yes |
Linuxのユーザー認証 | Yes | Yes |
Windowsのホームディレクトリ共有 | Yes | No |
Macのホームディレクトリ共有 | リンクのみ(注1) | No(注2) |
Linuxのホームディレクトリ共有 | NFS | NFS |
Windowsからの共有フォルダへのアクセス | ドメイン内外Yes | ドメイン内外Yes |
Macからの共有フォルダへのアクセス | ドメイン内外Yes | ドメイン内外Yes |
Linuxからの共有フォルダへのアクセス | ドメイン内外Yes | ドメイン内外Yes |
QNAP NASでのLDAPサーバ有効化手順
QNAP NASでLDAPサーバを有効化するには、管理画面から「コントロールパネル→アプリケーション→LDAPサーバー」を開き、「LDAPサーバーを有効にする」にチェックを入れて、以下の設定を行って「適用」ボタンを押します。
- フルドメイン名: 適当(hogehoge.lanとかhogehoge.tohoku.ac.jpとか)
- パスワード: 適当(どうも長いパスワードは使えないらしいので短めにすること)
- パスワードの再入力: 上記と同じ
次に、NAS自身がLDAPサーバの認証情報を利用するように設定します。「コントロールパネル→権限設定→ドメインセキュリティ」を開き、「LDAP認証」を選択し、現れるプルダウンメニューで「ローカルNASのLDAPサーバー」を選択します。「適用」を押して設定を適用して下さい。
共有フォルダをWindowsマシンやMacからもアクセスできるようにする場合、「コントロールパネル→ネットワークとファイル→Win/Mac/NFS」も設定する必要があります。「Microsoftネットワーク」タブで「Microsoftネットワーク向けのファイルサービスを有効にする」にチェックを入れます。サーバーの説明とワークグループは適当で構いません。また、「LDAPドメイン認証」を選択し、「適用」を押して下さい。MacはMicrosoftネットワーク(SMB)でのファイル共有に標準で対応しているため、AFPは有効にする必要はありません(将来的にAFPサポートは打ち切る方向です)。
ユーザーアカウント・グループの作成
次にLDAPサーバに認証したいユーザーアカウントとグループを作成しますが、その前に多数のユーザーを登録するためのCSVファイルを以下のような内容で作成しておきます。
hogehoge,PASSWORD,,EMAILADDRESS
fugafuga,PASSWORD,,EMAILADDRESS
これを使ってユーザーアカウントを作成するには、「コントロールパネル→アプリケーション→LDAPサーバー」を開き、「ユーザー」タブで「作成→ユーザーのバッチインポート」を選択します。「参照...」ボタンからファイルを指定して「次へ」を押すと読み込まれます。プレビュー画面になるので内容を確認して「次へ」、さらに「完了」を押すことで一度に多数のユーザーアカウントが作成できます。
作成したユーザーは、デフォルトでDomain Usersグループに属しています。sudoを許可するアカウント用に、Domain Adminsグループを作成しておくといいでしょう。「グループ」タブに「ユーザーグループの作成」ボタンがあるのでそこからグループの作成とユーザーのグループへの登録ができます。
ユーザーアカウント・グループへの権限の付与
共有フォルダにアクセスする権限を与える場合、ユーザーやグループを選択して設定する方法と、共有フォルダを選択して設定する方法があります。
ユーザーやグループを選択して設定するには、「コントロールパネル→権限設定→ユーザーまたはユーザーグループ」を開きます。その時点ではNASのローカルユーザ・ローカルグループが表示されていますが、右端の方の「ローカルユーザ・ローカルグループ」を「ドメインユーザ・ドメイングループ」に変えることでLDAPサーバのユーザーやグループの一覧に変わります。右端の方に「共有フォルダー権限の編集」ボタンがあるので押すとダイアログが表示され、権限を与えたいフォルダの行のチェックボックスをチェックして「適用」を押せば権限を変更できます。
共有フォルダを選択して設定するには、「コントロールパネル→権限設定→共有フォルダー」を開きます。権限を与えたいフォルダの行の「共有フォルダー権限を編集」ボタンを押し、表示されたダイアログで「追加」ボタンから「ドメインユーザ」や「ドメイングループ」の権限のチェックボックスをチェックして「追加」を押すことで「共有フォルダー権限の編集」ダイアログに戻り、「適用」を押すことで権限を与えることができます。
Macでのユーザー認証に対応するための設定
QNAP NASからMacに認証情報を提供するにはSSHでリモートログインして設定を変更する必要があります。SSHを有効化するには、「コントロールパネル→ネットワークとファイルサービス→Telnet / SSH」を開き、「SSH接続を許可する(管理者だけがリモートログインできます)」にチェックを入れ、「アクセス許可の編集」ボタンを押して適当な管理者アカウントにチェックを入れて「適用」を押します。コントロールパネルの画面でも「適用」を押して下さい。これでSSH接続が可能になります。ただ、admin以外のアカウントではsudoができないかもしれません。QNAPはadminを無効化することを推奨しているので、無効化している場合はsudoが実行不可能になってしまいます。その場合は、一時的にadminを有効化してSSHでログインし、以下のコマンドでsudoersファイルを編集します。
vi /usr/etc/sudoers
sudoersに追加するのは以下の行になります。
%administrators ALL=(ALL) ALL
これでadministratorsグループのユーザー(QNAP NASの管理者アカウント)はQNAP NASにSSH接続したときにsudoできるようになります。ただし、再起動の度にリセットされてしまいますので注意しましょう。
QNAP NASにSSHでリモートログインし、Macのために以下のコマンドでLDAP認証を無効化します。
sudo /sbin/setcfg "LDAP Server" "Require Authc" "FALSE"
以下のコマンドでLDAPサーバを再起動します。本体を再起動しても構いません。
sudo /etc/init.d/ldap_server.sh restart
クライアントでの設定方法
Ubuntuでの設定方法はこちらに書いておきました。Macのユーザー認証にLDAPサーバを使用するように設定する方法はこちらを参照して下さい。
LDAP管理ソフトからの接続方法
以下の設定でQNAP NASのLDAPサーバに接続してLDAPデータベースの閲覧・編集が可能です。
- Host: QNAP NASのIPアドレス
- Port: 389
- Version: 3
- Base DN: DC=サードレベルドメイン,DC=セカンドレベルドメイン,DC=トップレベルドメイン
- ユーザーアカウント: CN=admin,DC=サードレベルドメイン,DC=セカンドレベルドメイン,DC=トップレベルドメイン
- パスワード: LDAPサーバ有効化時のパスワード
- 暗号化方法: TLSまたは暗号化なし
- 認証方法: Simple authentication
ユーザーにuidNumberとgidNumberを、グループにgidNumberを設定しておくことで、UIDとGIDを固定化できます。QNAP NASではデフォルトで設定されていますが、値を変更したい場合は編集しておきます。最初のユーザーがUID:1000000、GID:1000000になります。グループはDomain UsersがGID:1000000です。新しいグループを作成するとGID:1000001になります。