Mac OS X v10.5、v10.6:SMB でマウントされた NAS、Mac OS X、Windows サーバ上の名前付きストリームについて、「-36」または「-50」の警告が表示される

この上級者向けの記事では、SMB 接続で名前付きストリームを使う方法について説明します。

名前付きストリームは Mac OS X の拡張属性の保存に使われ、これを利用すると、AppleDouble ファイルを使わずに、従来の Mac ファイルのデータフォークとリソースフォークを保存することができます。

Mac OS X Server v10.5 および v10.6 や、多くの NAS (Network Attached Storage) デバイスは、SMB 経由で接続する場合に名前付きストリームをサポートします。

NTFS フォーマットのハードドライブを搭載した Microsoft Windows サーバも、SMB 経由で接続する場合に名前付きストリームをサポートします。Windows では、名前付きストリームは「代替データストリーム」と呼ばれています。

Mac OS X v10.5 および v10.6 クライアントでは、Mac OS X Server v10.5 または v10.6 ベースのサーバに SMB 接続すると、名前付きストリームのサポートが自動的に有効になります。

Mac OS X v10.6 クライアントでは、NAS または Windows サーバが名前付きストリームのサポートを要求すると、自動的に SMB 経由での名前付きストリームが有効になります。NAS または Windows サーバに SMB 接続した場合に、Mac OS X v10.5 クライアントの名前付きストリームのサポートを有効にする方法については、以下を参照してください。

名前付きストリームは、以下の 3 通りの方法で有効にできます。

名前付きストリームを有効にする

お客様にとって最適な方法をお選びください。

SMB のマウントポイントごとに Mac クライアントの名前付きストリームを有効にする方法

  1. SMB 経由で、NAS デバイスまたは Windows サーバを Mac にマウントします。注意:下記のコマンドの例では NAS が使用されています。
  2. ターミナルコマンド
    ls /Volumes
    を実行し、共有 NAS に適切なマウント名をつけます。
  3. ターミナルで次のコマンドを実行します (Shared NAS の部分は、共有されている NAS の正確なマウント名に置き換えてください)。:
    touch "/Volumes/Shared NAS/.com.apple.smb.streams.on"
    
  4. NAS または Windows サーバをゴミ箱にドラッグしてイジェクトします。
  5. NAS または Windows サーバをもう一度マウントします。名前付きストリームが有効になります。
  6. 従来の AppleDouble ファイルをお持ちの場合は、ターミナルで次のコマンドを実行して変換してからお使いください。
    dot_clean --keep=dotbar "/Volumes/Shared NAS"
    重要:変換すると、このデータにアクセスするすべての Mac クライアントで名前付きストリームを有効にしなければなりません。

Mac OS X クライアントのユーザアカウントで、デフォルトで名前付きストリームを有効にする方法

ターミナルで以下の 2 つのコマンドを実行します。

echo "[default]" >>  ~/Library/Preferences/nsmb.conf
echo "streams=yes" >> ~/Library/Preferences/nsmb.conf

Mac のすべての Mac OS X クライアントのユーザアカウントに対して、デフォルトで名前付きストリームを有効にする方法

まだ管理者としてログインしていない場合は、Mac OS X に管理者ユーザアカウントでログインしてから、ターミナルで以下の 2 つのコマンドを実行します。

echo "[default]" | sudo tee -a /etc/nsmb.conf
echo "streams=yes" | sudo tee -a /etc/nsmb.conf

名前付きストリームを無効にする

SMB のマウントポイントごとに Mac クライアントの名前付きストリームを無効にする方法

  1. SMB 経由で、NAS デバイスまたは Windows サーバを Mac にマウントします。注意:下記のコマンドの例では NAS が使用されています。
  2. ターミナルコマンド ls /Volumes を実行し、共有 NAS に適切なマウント名をつけます。
  3. ターミナルで次のコマンドを実行します (SharedNAS の部分は、共有されている NAS の正確なマウント名に置き換えてください)。:
    touch "/Volumes/SharedNAS/.com.apple.smb.streams.off"
  4. NAS または Windows サーバをゴミ箱にドラッグしてイジェクトします。

NAS または Windows サーバをマウントすると、名前付きストリームは無効になります。

Mac OS X クライアントのユーザアカウントで、デフォルトで名前付きストリームを無効にする方法

ターミナルで以下の 2 つのコマンドを実行します。

echo "[default]" >>  ~/Library/Preferences/nsmb.conf
echo "streams=no" >> ~/Library/Preferences/nsmb.conf

Mac のすべての Mac OS X クライアントのユーザアカウントで、デフォルトで名前付きストリームを無効にする方法

まだ管理者としてログインしていない場合は、Mac OS X に管理者ユーザアカウントでログインしてから、ターミナルで以下の 2 つのコマンドを実行します。

echo "[default]" | sudo tee -a /etc/nsmb.conf
echo "streams=no" | sudo tee -a /etc/nsmb.conf

関連情報

注意:上記の手順に従って名前付きストリームを無効にしても、SMB でマウントされた NAS のファイルを開くまたは保存すると「-36」または「-50」の一般的な警告が表示される場合には、NAS のベンダーのサポートにご相談ください。「-36」および「-50」の警告はこの問題に限定しないため、名前付きストリームを無効にしても問題が発生する場合は、上記の手順で行った変更を元に戻してください。この場合は、診断が必要な別の問題です。

Apple 製以外の製品に関する情報や、Apple が管理または検証していない個々の Web サイトは、推奨や承認なしで提供されています。Apple は他社の Web サイトや製品の選定、性能、使用については一切責任を負いません。Apple は他社の Web サイトの正確性や信頼性については一切明言いたしません。インターネットの使用にはリスクがつきものです。詳しくは各社にお問い合わせください。その他の会社名や製品名は、それぞれの所有者の商標である場合があります。

公開日: