このセクションには、次のトピックが含まれています。
NFS プロトコルの詳細は、次のトピックを使用してください。
NFSv2 および NFSv3 のセキュリティー (RFC 2623) (http://www.ietf.org/rfc/rfc2623.txt)
NFSv4 プロトコル (RFC 7530) (http://www.ietf.org/rfc/rfc7530.txt)
NFSv4.1 プロトコル (RFC 5661) (https://tools.ietf.org/html/rfc5661)
サポートされるほかのプロトコルについては、次のセクションを参照してください。
各シェアにはプロトコル固有のプロパティーがあり、そのシェアに対してさまざまなプロトコルの動作を定義します。これらのプロパティーは、シェアごとに定義することも、シェアのプロジェクトから継承することもできます。次の表に、NFS プロトコルのプロパティーと指定可能な値を示します。
|
グローバルなシェアモードに対する例外は、クライアント固有のシェアモードまたは例外を設定することによって、クライアントごと、またはクライアントの集まりごとに定義できます。特定のクライアントへのアクセスを制限するために、グローバルなシェアモードをnone に設定して、アクセスを付与するグループを徐々に小さくしていくことをお勧めします。たとえば、グローバルなシェアモードが none に設定されたシェアを作成できます。これは、すべてのクライアントへのアクセスを拒否したあとで、クライアントのサブセットに読み取り専用アクセスを付与します。さらに、クライアントのより小さいサブセットに読み取り/書き込みアクセスを付与して、最後に信頼できるホストのみが読み取り/書き込みアクセスと root 対応のアクセスを持つようにできます。
クライアント固有のシェアモードはグローバルなシェアモードよりも優先されます。クライアントには、例外で指定されるクライアント固有のシェアモードに応じたアクセス権が付与されます。例外が存在しない場合、グローバルなシェアモードに応じたアクセス権がクライアントに付与されます。
|
クライアントごとまたはクライアントの集まりごとに、クライアントがシェアに対して読み取り専用アクセス権を持つか、または読み取り/書き込みアクセス権を持つかを指定します。NFS 例外を設定する場合、クライアントが root ユーザー権限を持つか、または root アクセス権を持たないユーザーとして扱われるかについても指定します。
ネットグループは、NFS エクスポートのアクセスを制御するために使用できます。ただし、ネットグループの管理は複雑になることがあります。代わりに IP サブネット規則または DNS ドメイン規則を使用することを検討してください。
ネットグループを使用する場合、有効になっているサービスに応じて、ネットグループが NIS または LDAP から解決されます。LDAP を使用する場合、それぞれのネットグループがデフォルトの場所 ou=Netgroup,(Base DN) に存在し、標準スキーマを使用している必要があります。
通常、ネットグループエントリのユーザー名コンポーネントは NFS に影響を与えず、ホスト名だけが意味を持ちます。ネットグループに含まれるホスト名は正規名であること、また、DNS で解決される場合は完全修飾名であることが必要です。つまり、NFS サブシステムは、要求しているクライアントの IP アドレスを解決すると、指定された FQDN、または指定されたネットグループのいずれかのメンバーに一致する正規ホスト名になることを検証しようとします。ドメインのコンポーネントも含めて正確に一致する必要があります。それ以外の場合、その例外には一致せず、次の例外が調べられます。ホスト名の解決の詳細は、DNS を参照してください。
2013.1.0 ソフトウェアリリースでは、UNIX クライアントユーザーはパフォーマンスを低下させることなく、最大 1024 グループに所属することが可能です。それ以前のリリースでは、UNIX クライアントユーザーにつき最大 16 グループをサポートしていました。
CLI では、すべての NFS シェアモードと例外を、sharenfs プロパティーの 1 つのオプション文字列で指定します。この文字列は、値をコンマで区切ったリストです。これは、BUI に関して説明したグローバルなシェアモードに相当する、ro、rw、on、または off のいずれかで始める必要があります。
|
次の例では、すべてのクライアントのシェアモードが読み取り専用に設定されます。すべてのクライアントで、root ユーザーは一般的な nobody ユーザーとしてシェアのファイルにアクセスします。
set sharenfs=ro
nosuid オプションまたは anon オプション、あるいはその両方を追加することもできます。したがって、不明なユーザーをすべて uid 153762 にマッピングするように定義するには、次のように指定します。
set sharenfs="ro,anon=153762"
追加の NFS 例外は、option=collection という形式のテキストを追加することで指定できます。ここで、option は、クライアントの集まり (collection) に付与するアクセス権のタイプを定義する、ro、rw、または root のいずれかです。collection の指定には、「クライアントタイプ」表の接頭辞文字と、DNS ホスト名/ドメイン名または CIDR ネットワーク番号を使用します。たとえば、sf.example.com ドメイン内のすべてのホストに読み取り/書き込みアクセス権を付与し、192.168.44.0/24 ネットワーク内のホストに root アクセス権を付与するには、次のようなコマンドを使用します。
set sharenfs="ro,anon=153762,rw=.sf.example.com,root=@192.168.44.0/24"
ネットグループ名は、個別の完全修飾ホスト名を使用できる場所であればどこでも使用できます。たとえば、engineering ネットグループに読み取り/書き込みアクセス権を付与するには、次のように指定します。
set sharenfs="ro,rw=engineering"
通常、ファイル名に使用する文字セットエンコードは指定されません。NFSv3 プロトコルと NFSv2 プロトコルは文字セットを指定しません。NFSv4.0 および NFSv4.1 では UTF-8 を使用することになっていますが、すべてのクライアントが従うわけではなく、この制限がサーバーによって強制されることもありません。シェアの「UTF-8 のみ」オプションが無効になっている場合、これらのファイル名は、エンコードが認識されることなく、文字どおりにファイルシステムに書き込まれます。したがって、同じエンコードを使用しているクライアントのみがこれらを解釈できます。ただし、SMB では、ファイル名をサーバー側で解釈できるように、ファイル名を UTF-8 で保存することが要求されます。これにより、任意のクライアントエンコードをサポートすることはできなくなりますが、SMB でのアクセスは引き続き可能です。
そのような構成をサポートするには、文字セットエンコードをシェア全体またはクライアント単位で設定します。サポートされている文字セットエンコードは次のとおりです。
|
デフォルトの動作では、文字セットエンコードは指定されません (パススルー)。BUI では、標準の例外リストメカニズムによって文字セットを選択できます。CLI では、各文字セット自体がオプションになり、そこに 1 つ以上のホストを指定します。* は、シェア全体の設定であることを示します。たとえば、次を確認してください。
hostname:shares default> set sharenfs="rw,euc-kr=*"
これは、euc-kr をデフォルトのエンコードとしてファイルシステムをシェアします。次を確認してください。
hostname:shares default> set sharenfs="rw,euc-kr=host1.domain.com,euc-jp=host2.domain.com"
これは、host1 には euc-kr、host2 には euc-jp を使用し、ほかのすべてのクライアントにはデフォルトのエンコードを使用します。ホストのリストの形式は、ほかの CLI NFS オプションの形式に従います。
一部の NFS クライアントでは、代替ロケールが正しくサポートされません。詳細は、使用している NFS クライアントのドキュメントを参照してください。
セキュリティーモードは、シェアベースで設定します。次のリストでは、Kerberos セキュリティー設定について説明します。
krb - Kerberos V5 によるエンドユーザー認証
krb5i - krb5 に完全性保護を加えたもの (データパケットに改ざんがないことが保証される
krb5p - krb5i にプライバシ保護を加えたもの (データパケットに改ざんがないことと暗号化されていることが保証される)
セキュリティーモードは、option=mode という形式のテキストを追加することで指定します。ここで、option は sec、mode はセキュリティー設定です。例:
hostname: shares default> set sharenfs="sec=krb5"
複数の Kerberos タイプの組み合わせをセキュリティーモード設定で指定できます。次の表に示すように、組み合わせのセキュリティーモードにより、クライアントは一覧表示されている任意の Kerberos タイプでマウントできます。
|
予約されたポート
システム認証に予約されたポートを設定するには、この例に示すように、resvport を使用します。
set sharenfs="sec=sys,rw,resvport"
resvport は、システム認証のセキュリティーモード sec=sys でのみ使用できます。