【WSL】WindowsからLinuxのファイルにアクセスする
WSL(Windows Subsystem for Linux)バージョン2(WSL2)で構築したLinux環境において、WindowsからLinuxのファイルにアクセスする方法を紹介します。
WindowsからLinuxのファイルにアクセスする
ファイルの参照
WindowsからLinuxのファイルにアクセスするには、エクスプローラーのアドレスバーに「¥¥wsl$」と入力します。インストール済みのディストリビューションごとにフォルダーが表示されます。以下の例では「Ubuntu」と「kali-linux」がインストールされています。
ディストリビューション(以下の例では「Ubuntu」)のフォルダーを開くと、ルートファイルシステムにアクセスでき、配下のサブディレクトリーが表示されます。
ファイルの作成とアクセス権
ファイルを作成することもできます。以下の例では「¥¥wsl$¥Ubuntu¥tmp¥sample.txt」を作成しました。
Linux側では「/tmp/sample.txt」となります。lsコマンドで確認してみましょう。ファイルの所有者・所有グループは「wsladmin」となります。これは「¥¥wsl$」経由でアクセスする場合、既定のユーザー(この記事では「wsladmin」)が使用されるためです。
また、ファイルのアクセス権は、所有者が「読み書き(wr-)」、グループとその他のユーザが「読み(r--)」です。これは、既定のumaskが「022」であり「666(rw-rw-rw-)-022(umask)=644(rw-r--r--)」となるためです。
Linux側で、所有者・所有グループを「root」に変更した後、アクセス権を所有者のみに「読み書き(rw)」を与えると、言うまでもなくユーザーアカウント「wsladmin」からアクセスできなくなります。アクセス権の仕組みを考えると、これは当然の動作です。
と同時に、このファイルにはWindows側からもアクセスできなくなります。
上記の検証で使用している/tmp/ディレクトリーは、一時的な作業用ディレクトリーです。再起動するとファイルは消えます。
ファイルのアクセス許可に関する詳しい情報は、Microsoft Lernのウェブサイトから「WSLのファイルのアクセス許可」を参照してください。