以下の内容はhttps://uepon.hatenadiary.com/entry/2025/01/06/005910より取得しました。


【メモ】WSLで/etc/wsl.confを設定してファイルの所有者とパーミッションを制御する

【修正】/etc/wsl.conffmaskの設定を行うとVisual Studio CodeがWSL側のコンソールから起動できなくなるため、fmaskの設定を削除しました(2025.01.10)

WSL(Windows Subsystem for Linuxを使って開発をしていると、Windows側のファイルの所有権やパーミッションで困ることがあります。 また、Visual Studio Codeなどのエディタを使用する際に、新規作成したファイルの所有者がrootになってしまうこともあります。

特に以前書いたエントリでWSLのディストリビューションのイメージをバックアップしたものを使用すると
デフォルトのユーザーネームの設定が削除され、以下のように起動しなければいけませんでした。 また、
Windowsターミナル**のタブにある【+】ボタンを使用するとrootユーザーでのログインとなっていました。

PS C:\> wsl -d <ディストリビューション> -u <ユーザー名>

【WSLのOSイメージのバックアップとリストア:参考】

uepon.hatenadiary.com

そこで今回はその2つの問題を解決するべく、WSLでファイルを作成する際の所有権とパーミッションの設定方法についてまとめます。

解決方法

今回の問題は、WSLの設定ファイル(/etc/wsl.conf)を編集することで解決できます。 以下の手順で設定を行います。

1. WSLのディストリビューションにログインし、エディターで設定ファイルを開く

$ sudo nano /etc/wsl.conf

2. ファイルに以下の内容を追加する

[automount]
options = "metadata,umask=022,uid=<デフォルトユーザーのuid>,gid=<デフォルトユーザーのgid>,case=force"
enabled = true

[user]
default = <あなたのLinuxユーザー名(デフォルトユーザー)>

このファイルの設定項目は以下のようになっています。

[automount]セクション

  • enabled = true … WSLの自動マウント機能を有効にします
  • metadata … Windowsファイルシステム上でLinuxメタデータパーミッション等)を保存できるようにします
  • umask=022 … ディレクトリの作成時のパーミッション755(rwxr-xr-x)に設定します(777-022=755
  • fmask=133 … ファイルの作成時のパーミッション644(rw-r--r--)に設定します(777-133=644
  • uid=????,gid=???? … 作成されるファイルの所有者(uid)グループ(gidを指定します
  • case=force … ファイル名の大文字小文字の判定を強制的行う

自分のユーザーID(uid)とグループID(gid)は以下のコマンドで確認できます

id -u  # ユーザーIDの確認
id -g  # グループIDの確認

[user]セクション

  • defaultWSL起動時のデフォルトユーザー名を指定します

設定の反映方法

設定を反映させるには、WSLを再起動する必要があります。WSLからログアウトをし、以下を実行します。WSLを再起動するので、その他のディストリビューションの動作に影響が考えられるので十分注意してください。

# Windowsターミナルで以下を実行
PS> wsl --shutdown

この設定により、WSL上で作成されるファイルやディレクトリの所有権とパーミッションが適切に設定され、より快適な開発環境を実現できます。

設定時の注意点

  • この設定は各WSLディストリビューションごとに個別に行う必要があります
  • 設定の変更を反映させるには、必ずWSLの再起動が必要です
  • UIDGIDは環境によって異なる可能性があるため、必ず自分の環境で確認してください

おわりに

WSLでのファイル操作時のパーミッションやデフォルトユーザの設定が可能になりました。




以上の内容はhttps://uepon.hatenadiary.com/entry/2025/01/06/005910より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14