71945


WSL2上でフォルダ作成するシェルスクリプトを書いているのですが、以下のようなエラーが出てしまいできません。

[code]

    mkdir: cannot create directory ‘/home/username/hoge/data’: Permission denied
    
[/code]

スクリプトは以下のとおりです。

[code]

    read NAME
    dir_path="/home/username"
    mkdir -p ${dir_path}/${NAME}/data/output
    mkdir -p ${dir_path}/${NAME}/features
    
[/code]

`home/username`はusernameに権限がついているのも確認済みなのですが。。

Linux初心者ですので、よろしくお願いいたします。

**追記**  
権限ですが、  
`drwxr-xr-x 9 username username 4096 Nov 14 10:07 username`  
でした。  
2~4文字目が全部権限がついているので大丈夫という認識でした。

また、`username`上で`mkdir test`をするとフォルダ作成できました。  
絶対パスでの指定がまずいのでしょうか。


CC BY-SA 4.0
2020-11-14T02:31:08.127
71941
2020-11-14T04:38:54.440
2020-11-14T03:41:40.133
12457
12457
question
linux bash wsl
WSL2でshでmkdirがパーミッション不足でできない


hogeを作成時点でデフォルトパーミッションでhogeディレクトリ作成されます。※親の権限は引き継ぎません。  
そのデフォルトパーミッション的にhogeの下に子ディレクトリ作成できなくなっていないでしょうか？  
shの実行者がusernameなのかも気になります。  
１度hogeまで作成するshに変えて実行してみて、作成された/home/username/hogeの権限を確認してみてはいかがでしょう。


CC BY-SA 4.0
2020-11-14T04:38:54.440
71945
2020-11-14T04:38:54.440
42719
71941
answer