それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ファイルのパーミッションを指定ユーザにだけ許可をする

linux の chmod ではちょっと不便なときもある。

Linuxパーミッションを設定するときは 755 など、 「オーナー:グループ:その他」でパーミッションをしてするが、グループがいっぱいできちゃって不便だったりする。

chmod 750 ~/public_html

Linuxの各ユーザーのホームディレクトリは、最近だと、ユーザーグループ(そのユーザー専用グループ)を設定するのが多いので、どうしても不便だったりする。

指定ユーザだけに許可をする

グループ一括で出しちゃうとガッツリアクセスできちゃうし、グループ変えるとsuexec の設定とかも不便だった。~/public_html をwww-data ユーザにだけ、RX を許可を出す。WindowsACL的なことをヤってみることが出来る。(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が維持されないので注意が必要

関連資料

statコマンドの使い方

参考資料

Debian 7.0 Wheezy - ACL - Access Control List : Server World