LoginSignup
2
0

More than 1 year has passed since last update.

【WSL2】Windowsのファイル・フォルダをchmodする

Posted at

今回の内容

WSL2(Windows Sussystem for Linux 2)にて、(Linux側ではなく)Windows側のファイル・フォルダをchmodで権限を変える方法についてです。

詳細について

WSL2は、WindowsでLinuxを扱えるということで、(昨今は稼働サーバーがLinuxということが多いのもあって)開発環境として利用したり、Windowsのファイル・フォルダなどをLinuxベースで扱えたりと、大変便利です。

しかし、実は「(WSLではなく)Windowsのファイル・フォルダは、chmodで権限を変えられない」という制約があり、これが結構不便だったりします。

特に、リモート接続時などに使用する秘密鍵ファイルは、変に公開範囲が広いと接続時にエラーになるので(public key)、権限を変更したいのですが、

  • Windowsのファイル・フォルダは、chmodで権限を変えられない
  • WSL側で権限変更してからWindows側にコピーしても、なぜかWindows側で権限が変わってる(=公開範囲が広くなってる)

ということがあるので、Windowsのファイル・フォルダも、chmodで権限を変えたい、というケースがあります。

やり方

で、いきなり結論ですが、下記の手順を踏むことで、Windowsのファイル・フォルダも、chmodで権限を実行できるようになります。(全てWSL2側での作業です)
参考:WSL2はファイル権限を変更できません

  1. /etc/wsl.conf ファイルを開く。(なければ作成する)
  2. /etc/wsl.confに下記の内容を記載し、保存する
  3. PCを再起動する。(これは無くてもできるかも...ただ再起動すれば確実)
# Enable extra metadata options by default
[automount]
enabled= true
root= /mnt/
options= "metadata,umask=22,fmask=11"
mountFsTab= false
# Enable DNS – even though these are turned on by default, we'll specify here just to be explicit.
[network]
generateHosts= true
generateResolvConf= true

上記手順を踏んだ後、WSL側でWindows側のファイル・フォルダをchmodしてみると、ちゃんと権限が変えられると思います。

wsl.confと.wslconfigの違いについて

とりあえず問題は解決しましたが、今回設定を記載したetc/wsl.confファイルについて、

Windowsのユーザーフォルダ(デフォルトではC:\Users<ユーザー名>)に.wslconfigってあったよな。あれとの違いは何だ?

と思ったので、調べてみました。

といっても、これはマイクロソフト公式サイトで、これ以上ないほど分かりやすい説明がありました。
wsl.conf と .wslconfig の違いは何ですか?

簡単に言えば

  • etc/wsl.confはディストリビューション個別の設定
  • .wslconfigは全ディストリビューションで共通の設定

ということみたいです。(ちなみに、先述の設定を.wslconfigに書いても、chmodで権限変更はできませんでした)

告知

今週の土曜日(2023/1/21)にVS Code Conference Japan 2022 - 2023という、VS Code Meetup主催のVS Codeの一大イベントが開催されます。

このイベントで「Remote SSHで行うVS Codeリモートホスト開発とトラブルシューティング」という内容で登壇させて頂くことになりましたので、よろしければぜひご参加ください。

ちなみに内容は、以前投稿した 【VS Code】Remote SSHでSSH接続する の記事をベースに、デモや発生頻度が高い「接続できない」事例も含めて紹介する予定です。

それでは、今回はこの辺で。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0