podman container の中で su ができない問題
なんかできない
$ podman container run --rm -it archlinux [root@feab108af408 /]# useradd user [root@feab108af408 /]# su user su: failed to execute /bin/bash: Operation not supported
setuid(...)
は成功してるけど、その後のexec
に失敗してるっぽい
root で同じことをやってみたら普通に動いた。
違いとしては:
root か rootless か
overlay か fuse-overlayfs か
下層の FS が ext4 か zfs か
podman --storage-opt overlay.mount_program=/usr/bin/fuse-overlayfs ...
って形で実行して、 root だけど fuse-overlayfs を使わせるようにしてみたけど、こちらも成功した。rootless で ext4 なディレクトリを storage 置き場に指定して実行してみたら、普通に動いた
storage.conf:
[storage] driver = "overlay" rootless_storage_path = "/var/tmp/ext4/containers"
→ じゃあ zfs が悪さしてるのか?
zfs podman operation not supported
でぐぐったら引っかかった issueこの issue のコメントにあったように
zfs set acltype=posixacl tank
したら動くようになった。(動くようにはなったけど、何で?っていうのは全然分からん。)