人気ブログランキング | 話題のタグを見る

体重と今日食べたもの

k1segawa.exblog.jp

ダイエット

ブログトップ

[Windows] フォルダ共有の仕方 [Linux] (2/12)

Windows10 になってWindows Media Playerが無くなった。

Windowsは10でOSレベルでDLNAをサポートしているが、それを再生するクライアントが無くなったのだ。

最近はNT以来からのWindows SambaサポートのSMBによるフォルダ共有(ネットワーク共有・ファイル共有などとも言うがアクセス権を与えるのがディレクトリ(フォルダ)単位なのでこういうことにしている)よりも、限定的でセキュリティの高い簡単なDLNAによるメディアファイル再生が好まれる。

当然読み込みだけなので書き込みや実行が出来ないし、メディアファイルだけしか公開しない。そしてログインのためのワークグループへの参加資格やパスワードによるアクセス権のあるアカウントを管理する必要もないからだ。

そしてDTCP-IPによって著作権というもう一つの管理情報をコントロールできるので、データの価値が高いものと自由なものの区別をつけている。

そこら辺はDRM管理団体が詳しいのでゆずるが、そういった限定されたファイルの公開方法だとそれに沿ったプロトコルを実装しなければならず、仕様を入手して理解し十分に把握してからでないと、また権利者に対しての許可が必要なため、クライアントアプリを作ったり、OS標準機能に取り込むのは結構厄介だ。

実際OSレベルでサポートしていないLinuxやMacOSはアプリの実装に任せてシステムAPIの実装は今の所無い。

この話を持ち出したのは、実はタイトルのWindows SMB2.0/3.0等のサポートを他のOSがシステムレベルでサポートするのは現状遅れている理由がこれと全く同じだからだ。

元々Sambaという仕組みがLinuxにあり、それをWindows上にMSなりの解釈で実装したのが、SMB1.0であった。そのSambaのプロトコルはLinuxではアプリがサポートするものであって、システムに取り込むものではなかった。

しかし、WindowsがSambaを真似て作ったSMB1.0のプロトコルはLinuxが他のOSとのファイルの共有のためLinuxカーネルでサポートするようになった。

あくまでもWindowsのためなのでアプリであるSambaがサポートするべきではなく、SambaはSamba自身のプロトコルを保持して、他のOSが実装を選択できるようになっている。

Windowsはその後SMBを拡張して2.0/3.0とバージョンを上げていき、Sambaとの互換性よりもWindows系列同士のファイルの共有プロトコルとして磨き上げていった。

その進化に他のOSは追従する必要はなく、LinuxでもSMB1.0の実装後、2.0の実装は実験レベルだ。

WindowsはSMB2.0がセキュリティと高速化などで信頼性を高めているので、Windows同士のやり取りではもはやSMB1.0は時代遅れとして推奨されなくなってきている。

しかしWindowsだけがOSではないため、サポートはせずともSMB1.0の仕組みは他のOSとの互換性のために残されている。

これがLinuxでWindowsとファイル共有する場合、SMB1.0をWindows PCで有効にすべき理由となっている。

Linuxカーネルでサポートしているのでその上で動くアプリも恩恵を受け、ファイルマネージャやメディアプレーヤがWindows上のデータに簡単にアクセスできる。

AndroidもOSとしてSMB1.0をサポートしているので、既存のアプリがWindowsのファイルにアクセスするのにこれまた都合が良い。
Android OSの場合、規模が小さいためアプリ側でSMBを実装することが多いが。

LinuxでWindowsファイル共有するにはWindows側のSMB1.0を有効にし、通常のファイルマネージャの「ネットワーク」から選択する。mountシステムコールがSMBをサポートしているからなせる技だ。

【結論】
というわけで、最も簡単な方法はWindows側でSMB1.0を有効にしてやることだ。
上記を読んでからここにたどり着く事。

もちろん別プロトコルであるSambaサーバを両方に建てて、進化したSambaプロトコルでやり取りする方法も、時代の要請に基づいているためセキュリティや暗号化・高速化を考慮したアクセス方法にするのが安定安全安心。

SMB1.0有効だとLinux側からでもWindows同士で行なっているようなGUIでの操作が可能。

WindowsでSMB1.0を有効にするにはWindows Update1909では、
設定>アプリ>アプリと機能>末尾の関連設定のプログラムと機能>Windowsの機能の有効化または無効化>SMB1.0/CIFSファイル共有のサポートをONにし、再起動する。

もちろん、設定>ネットワークとインターネット>状態>ネットワークが1つしか接続されていない状態で>ネットワーク設定の変更>共有オプション>プライベート>ネットワーク探索を有効にする>ネットワークに接続されているデバイスの自動セットアップを有効にする。をONにするのを忘れずに。

上記はあくまでも家庭内LANが外部とダイレクトにつながっていない状態で限定的に使ったり、公開の場所では複数の信頼できない人間のいない可能性が高い場合に限る。

パブリックネットワークを経由して共有する場合は、家庭内LANとは違い、Sambaサーバを両方で建てるか、そもそも共有ではなくクラウド経由でファイルの公開を行う方が安全だろう。そうでなければモバイルネットワークなどの電波による通信環境で自分自身のみ限定公開してリモートアクセスで家庭内LANにアクセスしよう。


by k1segawa | 2020-02-12 00:56 | Comments(0)

by k1segawa