前書き
この記事は、MicroAd Advent Calendar 2020の15日目の記事です。
linuxを利用する上で避けては通れないパーミッションですが、ファイルのみしか管理せず、ディレクトリのパーミッションを意識せずに利用していたので勉強がてらまとめてみたいと思います
環境
Mac 10.15.7
ビットと権限
ビット | 権限 |
---|---|
r | ファイル一覧を表示できる |
w | ファイル作成・削除などの操作ができる |
x | ディレクトリに移動とファイルアクセスが可能 |
このような対応になっています。
なのでxだけ与えるとlsなどは叩けないのに実行やファイルの操作が可能な少し珍しい状態になります。
しかし思うように行かないのがunix.....
注意点
上位ディレクトリの実行権限
上位のディレクトリから実行権限を取り除くとその下層にあるディレクトリにもアクセスできなくなります、影響範囲に注意です
ファイル作成
touchコマンドはw
だけではなくwx
がないと上手く動いてくれないようです(実装系の問題・・・?)
❯ ll
total 0
drwx----w- 3 root wheel 96B 12 11 18:13 test2/
❯ touch test2/hoge
touch: test2/hoge: Permission denied
❯ ll
total 0
drwx----wx 3 root wheel 96B 12 11 18:13 test2/
❯ touch test2/hoge
# Permission deniedされていない
まとめ
フォルダを触らせたくない場合以外は実行権限は参照まで影響する可能性が高いので付与しておいたほうがいいかもしれません。
また、逆にファイル名を悟らせたくない、変なファイルを仕組ませたくないなどの場合はrx
権限を上手く活用すれば第三者からの攻撃を防ぐなどの活用もできそうです。