tmpfs内のcgiでPermission denied: AH01241: exec

docker run -it –privileged –name iot-house –mount type=tmpfs,tmpfs-size=100M,destination=/www … で走らせた後ブラウズしたら

root@287b00cbce13:/www/remote-hand# tail /var/log/apache2/error.log
[Sun Nov 14 09:17:44.318335 2021] [cgid:error] [pid 19456:tid 139660262956096] (13)Permission denied: AH01241: exec of ‘/www/remote-hand/wait_for.cgi’ failed

root@287b00cbce13:/www/remote-hand# df
Filesystem     1K-blocks     Used Available Use% Mounted on
overlay         56940672 10884172  43134312  21% /
tmpfs              65536        0     65536   0% /dev
tmpfs            4030392        0   4030392   0% /sys/fs/cgroup
shm                65536        0     65536   0% /dev/shm
tmpfs             102400        0    102400   0% /tmp
tmpfs             204800     1372    203428   1% /www
.
実行ビットは立っても
root@287b00cbce13:/www/remote-hand# ll wait_for.cgi
-rwxr-xr-x 1 www-data www-data 5749 Apr 21  2021 wait_for.cgi*

rootでcgiを実行してもNG
root@287b00cbce13:/www/remote-hand# ./wait_for.cgi
bash: ./wait_for.cgi: Permission denied

tmpfsでは実行権があってもPermission deniedと弾かれる
過去ずーと、tmpfsでcgiを動かしていたのにUbuntu 20.04.3 LTSでは
docker container内部だけで無くtmpfsの実行権は母艦でも制限されているようだ

ところがdocker run –mount type=tmpfs, …では無く、container内部でmount -t tmpfs tmpfs /www
としたらtmpfsの実行権は制限されずに問題なく実行される

Follow me!