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