https://github.com/openstack/swift/commit/c6cebb6e621a245c9c2d5bff0df59689b0140373 introduced the use of NamedTemporaryFile when writing rings; this creates files with 0600 permissions by default, so when the file is renamed to the actual ring filename, it have different permissions to those created by earlier versions.
We use the root account to create rings, but swift-proxy runs as the swift user and as a result can read the rings.
https:/ /github. com/openstack/ swift/commit/ c6cebb6e621a245 c9c2d5bff0df596 89b0140373 introduced the use of NamedTemporaryFile when writing rings; this creates files with 0600 permissions by default, so when the file is renamed to the actual ring filename, it have different permissions to those created by earlier versions.
We use the root account to create rings, but swift-proxy runs as the swift user and as a result can read the rings.