mountオプションのnoexec
マウントオプションにnoexecが付いていてdockerコンテナ上がらねー、というのに困った話。
fstabが以下のようになっているとnoexecがマウントオプションに張り付きます。
[code lang=text]
/dev/sdb1 /hoge xfs rw,suid,dev,auto,user,async,noatime,inode64 1 2
[/code]
[code lang=text]
/dev/sdb1 on /hoge type xfs (rw,noexec,nosuid,nodev,noatime,inode64)
[/code]
じゃあ、execオプション付けるか、と以下のようにしたら、相変わらずnoexecが付いてしまう。
[code lang=text]
/dev/sdb1 /hoge xfs rw,suid,dev,exec,auto,user,async,noatime,inode64 1 2
[/code]
なんで、と思ったら man にちゃんと書いてあった。
[code lang=text]
user 一般ユーザーでもファイルシステムをマウントできるようにする。マウントを行ったユーザーの名前が mtab に書き込まれ、
そのユーザーがアンマウントできるようになる。このオプションを指定すると、同時に noexec, nosuid, nodev が指定され
たことになる。ただし続けて指定すれば上書きは可能。すなわち user,exec,dev,suid のような行を指定すればよい。
[/code]
なるほど順番考えないといけないのか。
[code lang=text]
/dev/sdb1 /hoge xfs rw,suid,dev,auto,user,exec,async,noatime,inode64 1 2
[/code]
[code lang=text]
/dev/sdb1 on /hoge type xfs (rw,nosuid,nodev,noatime,inode64)
[/code]
これでよし。
Leave a comment