storage.conf is indeed owned by “guest”.
However, /home/guest/.config and /home/guest/.config/containers are created and owned by root.
Is this the expected behavior?
When creating a file with user “guest”, I would expect the path to be owned by “guest” by default if it doesn’t exist yet.
In this case, for example, it would cause rootless Podman to fail:
Yes, that’s the expected behavior. Ignition doesn’t assume that any missing directories should be created with the same owner/group (and, of course, can’t assume that they should be created with the same mode), so it uses defaults. If you want to set the properties of the containing directory, you should declare the directory explicitly.
It’d make sense to add some Butane sugar to create a stack of directories with particular ownership/perms. There’d need to be some syntax for specifying the base dir, though. E.g. in the example above, we wouldn’t want to make /home owned by builder.