Open Ayako-T opened 2 years ago
ls -l コマンドで、パーミッションを確認
1文字目が、ディレクトリ(d)なのかファイル(-)なのかを表している 2文字目から先は、3文字ずつ、所有者(ここではayakot)、所有グループ, その他のアクセス権限を表している 3文字は、r(読み取り権限) 、w(書き込み権限)、x(事項権限)の順に並んでおり、これらの文字が表示されていれば権限あり、ハイフンで表されていたら権限なしということ
つまり、上の画像では上から2行目のd_yzone.geojsonについてayakotは読み取り及び書き込みの権限があるが、実行権限がないことがわかる
chmod コマンドで権限を変更して、実行権限を得る r、w、xはそれぞれ4、2、1という数値に置き換えることができる(-は0)
所有者、所有グループ、その他の順に、それぞれに対して与えたい権限の数値の合計を打ち込み、最後にどのファイルやディレクトリ名を入れる
つまり、d_yzone.geojson のファイルについて、所有者に全権限(4+2+1=7), 所有グループとその他に読み取り権限のみ(4)を付与したい場合、
chmod 744 d_yzone.geojson
となる
実行し、権限を確認すると権限が思い通りに変わった
charites の convertコマンドは「その他」に実行権限がないとできないのではないかと考え、さらに権限を変更する
これでもダメだった
d_yzone.geojsonは元々 style.geojsonだったためコンバートしようとしていたのだが、そもそもcharites でyamlファイルにできるのはJSONファイルだった
新しくstyle.jsonファイルを作って、それで実行する
問題なく実行することができ、yamlファイルができた
ls -l コマンドで権限を確認すると、sytle.jsonに対して誰も実行権限を持っていないことがわかる
つまり、permission denied はconvertできないgeojsonファイルだったから表示されていたと言える また、JSONをyamlファイルにconvertする際に、実行権限は必要ないことがわかった
Permission denied というメッセージが返ってきた