Ubuntuなどとvscodeをつなげたはいいものの、ファイルの編集をするとPermission denidedといわれるときの対処法をメモとして残しておく。
環境
- windows11
- ubuntu : 20.04.6 LTS
- vscode (wsl)
今回は、directory1
内のファイルを編集できないとする。
事象
vscodeでdirectory1
内のファイルを編集し保存しようとしたところ以下のようなエラーがでて保存ができない。
Failed to save 'ファイル名': Unable to write file 'vscode-remote:ファイルパス' (NoPermissions (FileSystemError): Error: EACCES: permission denied, open 'ファイルパス')
権限関連の問題のようなので調査する。
調査
- directory1が編集できないため権限を確認する。
$ ll
total 20
drwxr-xr-x 2 root root 4096 Oct 23 10:00 directory1
drwxr-xr-x 2 root root 4096 Oct 23 10:01 directory2
-rw-r--r-- 1 root root 23 Oct 23 09:59 file1.txt
-rw-r--r-- 1 root root 42 Oct 23 10:00 file2.txt
所有者がrootになっているため変更をする(変更しても問題ないかは確認)
- 所有者の変更
// ファイルの所有者を変更する
$ sudo chown 新しい所有者:新しい所属グループ ディレクトリのパス
// ディレクトリ内すべての所有者を変更する(Option: -R)
$ sudo chown -R 新しい所有者:新しい所属グループ ディレクトリのパス
// 実行
$ sudo chown -R yamaken:yamaken directory1
- 所有者が変更されているか確認する
$ ll
total 20
drwxr-xr-x 2 yamaken yamaken 4096 Oct 23 10:00 directory1
drwxr-xr-x 2 root root 4096 Oct 23 10:01 directory2
-rw-r--r-- 1 root root 23 Oct 23 09:59 file1.txt
-rw-r--r-- 1 root root 42 Oct 23 10:00 file2.txt
この状態でvscodeで編集したところ保存することができました。
今回は所有者が問題でした。