linux の chmod ではちょっと不便なときもある。
Linuxでパーミッションを設定するときは 755 など、 「オーナー:グループ:その他」でパーミッションをしてするが、グループがいっぱいできちゃって不便だったりする。
chmod 750 ~/public_html
Linuxの各ユーザーのホームディレクトリは、最近だと、ユーザーグループ(そのユーザー専用グループ)を設定するのが多いので、どうしても不便だったりする。
指定ユーザだけに許可をする
グループ一括で出しちゃうとガッツリアクセスできちゃうし、グループ変えるとsuexec の設定とかも不便だった。~/public_html をwww-data ユーザにだけ、RX を許可を出す。WindowsのACL的なことをヤってみることが出来る。(ext系の拡張機能)
setfacl -m u:www-data:rx ~/public_html/
ただしく設定されたか確認する。
takuya@atom:~$ getfacl public_html/ # file: public_html/ # owner: takuya # group: takuya user::rwx user:www-data:r-x group::--- mask::r-x other::---
うん、できてる。getaclが出来てます。
これで、無用なパーミッションを設定を避ける事が出来る。
suexec とmod_userdir は手軽で便利だからねぇ。ユーザー作ったらいいわけだし。
いまさらだけど、今まで使う機会がなかったので、改めて使ってみたら便利だなと思った。でも乱用すると大変なことになりそう。
Sambaで作ったADとACL連携させたら便利そう。こんどやってみたい。
2016/07/08追記
setfacl したファイルは、そのままcp したりファイルシステムを超えると、Permissionが維持されないので注意が必要
関連資料
参考資料
Debian 7.0 Wheezy - ACL - Access Control List : Server World