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の実行権は制限されずに問題なく実行される