このページの本文へ

Windows Info 第114回

RS4におけるWindows Subsystem for Linuxの改良点 drvfsのメタデータ対応

2018年01月28日 10時00分更新

文● 塩田紳二 編集● ASCII編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

 次期Windows 10となる予定のRS4(Ver.1803が想定されている)では、Windows Subsystem for Linux(以下、WSL)からWindows側のファイルをアクセスするためのdrvfsが改良される。この改良では、ファイルの所有者やパーミッションが設定可能になる。というのも、現在のRS3では、devfs側ではファイルの所有者やパーミッションの設定がまったくできなかったのだ。

 ただしこの改良では、Linux側とWindows側で矛盾なく動作させる必要性から、Windows側のアクセス許可が優先される。たとえばWindows側で書き込み不可としたファイルにWSL側から書き込むことはできない。一方で、パーミッションを制御するchmodコマンドでは、書き込み属性を設定することができ、lsコマンドも書き込み属性があるように表示する。また、ファイルやディレクトリの所有者も変更が可能になるが、こちらもWindows側のファイル所有者を変更しない。しかしWSL側では変更が有効になり、所有者やグループが変更されたように見える。

 具体的にどんな改良なのかを見ていくことにしよう。

RS4におけるパーミッション

 RS3までのdrvfsでは、所有者のユーザーID、グループIDは、rootであり、パーミッションは「rwxrwxrwx」(所有者、グループ、その他のユーザーがすべて読み書き可能で実行可能)となっていた。chmodやchownといったパーミッションや所有者を変更するコマンドはエラーにならなかったが、変更はまったくできなかった。

RS3では、drvfsでのパーミッション変更や所有者変更コマンドはエラーにならないものの効果がなかった

 また、実際のファイルやディレクトリに対するアクセス許可はWindows側のアクセス許可に従っていて、Windows側でリードオンリーとしたファイルに書き込むことはできず、実行時にエラーとなった。

 これに対してRS4のWSLでは、drvfsに対してパーミッションや所有者の変更が有効になった。chmodやchownコマンドを実行すると、ls -lコマンドの結果に変更が反映される。

RS4では、drvfsでもパーミッションや所有者の変更コマンドが有効になる。Build17074では再マウントしてmetadataを有効にする必要がある

 もっとも、実際のファイルやディレクトリに対する操作は、Windows側のアクセス許可に従って判断され、RS3同様にWindows側で書き込み禁止したファイルにWSL側で書き込むことはできない。

 しかしWSL側からは、ファイルやディレクトリに対する変更が反映されたように見えるため、ソフトウェアの互換性という問題をある程度クリアできる。一部のLinuxソフトウェアは、セキュリティ上の理由などにより、自身が扱うファイルやディレクトリのパーミッションや所有者などをチェックしている。

 たとえばsshdは、認証鍵ファイルが保存されているディレクトリのパーミッションが特定の状態ないとエラーになる。これは、重要な情報に他のユーザーがアクセスできないようにしないとセキュリティ上の問題になるからだ。

 このパーミッションや所有者の設定は、Windowsのファイルとは別の場所に記憶されるようだ。WSLを再起動しても、前回設定した状態が復元される。この記録は、WSL側で設定したもののみで、WSL側でなにも設定していないファイルやディレクトリに関しては、デフォルト値が使われる。

 RS4では、ファイルの所有者のデフォルト値は、Linuxディストリビューションのインストール時に設定したユーザーとなっている(WSLコマンドなどでログイン状態となるユーザーアカウント)。また標準では、このユーザーには、1000というユーザーID、グループID番号が割り当てられている。

Linuxにおけるファイルパーミッション

 Windows Insider Preview Build 17074では、WSLを起動したときのdrvfsは、metadataを扱うようになっていないため、ユーザーがオプションを指定してdevfsを再マウントする必要がある。

 このオプションなどを説明するには、Linuxのパーミッションなどについてある程度の知識が必要になる。ここでは、最低限の説明としてchmod、chownコマンドを中心にパーミッションについて説明しておく。

 Linuxのファイルやディレクトリに対するパーミッション(Windowsでいうアクセス許可)は、「読み込み」「書き込み」「実行」の3つを個別に可、不可と設定するもの。ただし実行はファイルに対するもので、対象がディレクトリの場合には、ディレクトリ内部を見せるかどうかの許可になる。この許可は、3ビットで表現できるため、0~7までの数字を対応させて表現することもある)。

 また、すべてのファイルは所有者がいて、登録されたユーザーの誰か(システムアカウントもある)になる。また、すべてのユーザーはグループに属している。前記のパーミッションは、「所有者」に対するもの、同じ「グループ」に属する他のユーザー、それ以外のユーザーの3種類ある。このため、前記のパーミッションを表現する0~7までの数字をそれぞれのユーザー別に3桁とした数値で表現できる。

 この仕組みはUnix由来のもので、ファイルやディレクトリのパーミッションを操作するchmodコマンドもUnix由来の仕様がそのままLinuxでも使われている(プログラムが同じという意味ではない)。

 このchmodにはファイルやディレクトリのパーミッションを設定するのに「数値モード」と「シンボリックモード」の2つがある。前者は、パーミッションを意味するビットを4桁の8進数として表現する。

 先頭の1桁(最上位桁)は属性でファイル実行時の特殊なモードなどを表す。

 後者は、許可するパーミッションをrwxなどの文字と+(許可)、-(不許可)などの文字で表現する(詳細はmanなどでchmodを調べてほしい)。

 もう1つ、数値モードで使われるパーミッションに対して、「mask」という概念がある。これは、指定されたパーミッションを2進数に見立て、同じく2進数のマスクパターンと、現在のパーミッションを組みあわせて論理演算をし、最終的なパーミッション値を計算するもの。マスクパターンでは、変更させたくないビットを1にして指定をする。

 たとえば、ファイルに対して、所有者は読み書き実行を許可し、グループに対して読み込みと実行のみ、それ以外のユーザーには何も許可しないという場合には、「0750」という数字を使う。なお、先頭行のゼロは省略可能なので、これを「750」と表記することが多い。

 また、所有者はすべてのパーミッションが設定可能で、グループメンバーやその他のユーザーには、書き込みを禁止させたい場合、mask値として「022」(22)を利用する。

 chownコマンドは、ファイルに設定されている所有者のユーザーidやグループid(ユーザーは複数のグループに属することができるがファイルに指定できるグループidは1つだけ)を変更するためのコマンドだ。詳しくはmanコマンドをみてほしいが、以下の書式で所有者を変更する。

chown ユーザー:グループ 対象ファイルやディレクトリ

 なお、ユーザーやグループの指定には、ユーザー名(rootなどの文字表現)やグループ名とユーザーID番号、グループID番号も指定できる。ユーザー名とユーザーID番号の対応は/etc/passwdというファイルに、グループ名とグループID番号との対応は/etc/groupファイルに記載されている。

RS4におけるdrvfsマウントオプション

 RS4からは、drvfsをシステムにマウントする場合のオプションが追加され、メタデータ利用の可否、デフォルトのユーザーidやグループid、デフォルトのパーミッションマスクなどが指定できる。これにより、WSL側からパーミッションの指定がまったくされていないファイルやディレクトリはデフォルトのパーミッションと許可マスクを持つことができる。

 ただし、Build 17074では、WSLを起動したときには、cドライブなどは、メタデータなしでユーザーIDとグループIDは1000(Linuxディストリビューションインストール時に登録したユーザーアカウントのユーザーID番号)となっている。

 このため、メタデータを利用する場合には、一回umountコマンドでCドライブに対応するdrvfsをアンマウントしてから、再度mountコマンドでオプションを指定してマウントしなおす必要がある。

metadataをdevfsで有効にするには、マウントコマンドにオプションを指定する。そのためには一回umountコマンドでアンマウントする必要がある

 このときには、drvfs固有のマウントオプションとし以下の表のようなものがある。

 また、mountコマンドでdrvfsをマウントするときには、

mount -t drvfs C: /mnt/c -o metadata,uid=1000,……

などととして指定をし、マウントを解除(アンマウント)する場合には、

umount /mnt/c

とする。

 drvfsは、WSLでLinuxが起動するときに自動的にマウントされるが、まだmetadataを反映する形ではマウントされていない。おそらく、最終版では、オプションにmetadataが指定された形でLinuxディストリビューションが起動することになると思われる。

 というのも、WSLで自動的にマウントされるdrvfsなどについては/etc/fstabに記述がなく、また、前回説明したようにrcスクリプトも動作していないため、initプロセスの中でマウント処理が行われているのだと考えられる。早晩プレビュービルドでマウントオプションが変わると思われるが、init側に手がつけられていないのは、そもそも現在のdrvfs固有のマウントオプション(その多くはfatファイルシステム固有のmountオプションだったもの)は最終仕様ではなく、今後変化する可能性があるからと推測される。

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
1
【Amazon.co.jp限定】HP ノートパソコン 15-fd 15.6インチ インテル Core 5 120U メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 WPS Office搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M5PA-AAAI)
【Amazon.co.jp限定】HP ノートパソコン 15-fd 15.6インチ インテル Core 5 120U メモリ16GB SSD512GB Windows 11 Microsoft Office 2024搭載 WPS Office搭載 カメラシャッター 指紋認証 薄型 Copilotキー搭載 ナチュラルシルバー (BJ0M5PA-AAAI)
¥181,469
2
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、256GB SSDストレージ、1080p FaceTime HDカメラ - シトラス
Apple 2026 MacBook Neo A18 Proチップ搭載13インチノートブック:AIとApple Intelligenceのために設計、Liquid Retinaディスプレイ、8GBユニファイドメモリ、256GB SSDストレージ、1080p FaceTime HDカメラ - シトラス
¥95,768
3
【Amazon.co.jp限定】ASUS ノートパソコン Vivobook 15 M1502NAQ 15.6インチ AMD Ryzen 7 170 メモリ16GB SSD 512GB Windows 11 重量1.7kg Wi-Fi 6E クワイエットブルー M1502NAQ-R7165BUW
【Amazon.co.jp限定】ASUS ノートパソコン Vivobook 15 M1502NAQ 15.6インチ AMD Ryzen 7 170 メモリ16GB SSD 512GB Windows 11 重量1.7kg Wi-Fi 6E クワイエットブルー M1502NAQ-R7165BUW
¥109,800
4
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - ミッドナイト
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - ミッドナイト
¥177,333
5
Lenovo ノートパソコン パソコン IdeaPad Slim 3 15.3インチ AMD Ryzen™ 5 7535HS メモリ16GB SSD512GB MS Office搭載 Windows11 バッテリー駆動17.4時間 重量1.59kg ルナグレー 83K700HBJP ノートPC
Lenovo ノートパソコン パソコン IdeaPad Slim 3 15.3インチ AMD Ryzen™ 5 7535HS メモリ16GB SSD512GB MS Office搭載 Windows11 バッテリー駆動17.4時間 重量1.59kg ルナグレー 83K700HBJP ノートPC
¥153,780

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,386
2
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
3
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
¥1,980
4
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,899
5
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥7,047
6
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
7
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥1,080
8
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
NIMASO ガラスフィルム iPad 第11世代(A16) 2025用/iPad 10.9インチ 第10世代 2022用 衝撃吸収 強化 ガラス 保護フィルム 指紋防止 ガイド枠付き NTB22I574
¥1,599
9
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥1,299
10
KIOXIA(キオクシア)【日本製】SDカード 32GB SDHC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA032G
KIOXIA(キオクシア)【日本製】SDカード 32GB SDHC UHS-I Class10 読出速度100MB/s 国内正規品 メーカー保証5年 KLNEA032G
¥1,381

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン