php-fpm のUnixドメインソケットのオーナーをapacheに変更したら、 よくわからんワーニングが出た。
listen.owner = apache listen.group = apache listen.mode = 0660
May 29 13:43:04 ip-172-30-2-142 php-fpm: [29-May-2018 13:43:04] WARNING: [pool www] ACL set, listen.owner = 'apache' is ignored May 29 13:43:04 ip-172-30-2-142 php-fpm: [29-May-2018 13:43:04] WARNING: [pool www] ACL set, listen.group = 'apache' is ignored
ソケットの所有者を確認したら、root限定だった。
# ll /run/php-fpm/www.sock srw-rw----+ 1 root root 0 6月 6 15:24 /run/php-fpm/www.sock
でもapacheユーザーで動いてるwebサーバーからソケット使えてるし??? ACLとは???
なるほど、従来の所有権・パーミッションによるアクセス制限を発展させた機能らしい。 1ミリも知らんかった。
この設定で、POSIX ACL を設定しているらしい。
listen.acl_users = apache,nginx
# getfacl /run/php-fpm/www.sock getfacl: Removing leading '/' from absolute path names # file: run/php-fpm/www.sock # owner: root # group: root user::rw- user:apache:rw- user:nginx:rw- group::rw- mask::rw- other::---
わかりにくい……
# POSIX ACL未設定の普通のファイル # ll /etc/php-fpm.conf -rw-r--r-- 1 root root 4024 12月 13 12:45 /etc/php-fpm.conf # ls に + があったら要注意 # ll /run/php-fpm/www.sock srw-rw----+ 1 root root 0 6月 6 15:24 /run/php-fpm/www.sock