5.4. ネットワークファイルシステム(NFS)

5.4.1. NFSv4

NFS(Network File System)はLinuxでの一般的なファイル共有プロトコル
NFSv4はNFSのVersion4.0。

NFSv4の主な特徴は以下の通り。

  • セキュアな認証メカニズム「Kerberos」「SPKM」「LIPKEY」の導入
  • 擬似(Pseudo)ファイルシステムの提供
  • ACLによるアクセス制御
  • パフォーマンスの改善(一部の権限をクライアント側へ委譲)

NFSv4の認証メカニズム

NFSv4では、セキュアな通信を確立するために以下の認証メカニズムが採用された。

認証メカニズム説明
KeroberosSSOを使用可能にする
SPKMシンプルな公開鍵基盤を提供する認証方式
LIPEKYSPKMを使用したクライアント-サーバ間で暗号化通信を行う

疑似(Pseudo)ファイルシステム

擬似(Pseudo)ファイルシステムは複数のファイルシステムをクライアント側で一つのツリーに見せかけることができる仕組み
これはNFSv3の欠点を補った仕組みともいえる。

NFSv4サーバの設定

  • /etc/exports
    • NFSv4の共有ディレクトリの設定は/etc/exportsで行う
  • /etc/idmapd.conf
    • NFSv4のデーモンの挙動を設定する

5.4.2. CIFS

CIFSはSMBを拡張したファイル/プリンタ共有などのプロトコル
CIFSはWindows系OS以外でも利用できるように仕様が公開されている。

CIFSには以下のような特徴は以下の通り。

  • Unicodeに対応
  • oplockと呼ばれる便宜的ロックにより、共有ファイルへのロック情報をクライアントでキャッシュすることで高いパフォーマンスを発揮

CIFSによるファイル/ディレクトリのパーミッション

Linux上でマウントしたWindowsマシンの共有は、デフォルトでrootユーザが所有者として設定され、一般ユーザでは書き込みができない。
WindowsのファイルシステムにはLinuxのような所有者やパーミッションの仕組みが無いため起こる。 Windowsマシンの共有の所有者やパーミッションを設定するには、マウント時のオプションとしてUIDやGID、ファイルやディレクトリのパーミッションを指定する必要がある。

CIFSのセキュリティモード

  • NTLM(NT LAN Manager authentication)
    • Windows OSのネットワークにおける認証方式の一つ
    • 共有フォルダや共有プリンタなどに利用される
  • Keroberos
    • SSO認証を可能にする認証方式

CIFSのマウント/アンマウント

CIFSのマウントにはmount.cifsコマンド、もしくはmount -t cifsを使用する。 なおアンマウントはunmountコマンドで行う。

setcifsaclコマンド

CIFSのACLに関する操作を行うコマンド。

setcifsacl <オプション>

getcifsaclコマンド

CIFSのACLに関する操作を行うコマンド。

getcifsacl <オプション>