プログラミング

WindowsのWSL Bashで"chmod"がエラーになる・実行できない

WindowsのWSL bashでchmodコマンドがエラー、または実行できないような状態になる場合があります。

例えば、ssh.keyファイルをブラウザーからダウンロードし、そのダウンロードフォルダにcdで移動してからchmod 400 ssh.keyなどコマンドを実行しても、エラーになったり、コマンドは実行されているのだが実際にはファイルのパーミッションが何も変更されていない、うまく動作していない、といったケースです。

License


これは有料記事です。 購入する

WSL 2に関してはこの問題が解決していのかもしれませんが、WSL(WSL 1)ではこの問題はいまだ顕在であり、
この問題は主にパーミッションを変更するファイルの場所がWSLのファイルシステムではなくWindowsのファイルシステム上に位置していることが要因とされています。

なので、例えば(74文字)場合などです。
このような場合、ファイルをWSLのファイルスタンド~(/home/user/home/user/.ssh)へコピーまたは移動し、その位置からchmodコマンドを実行(41文字)しファイルのパーミッション変更を試します。

(参考)

referencing files in the Windows file system, they do not
Unable to change file permissions on Ubuntu Bash for Windows 10 – Super User


この記事は有料記事の試験版です。以下のライセンスコードを使用できます。

bc292db4-97c6-469d-83ea-03c77d4c330b

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です