ansible/ansible — pull request #8624 by l1k (2014-08-14 15:17:44+00:00)
Title: atomic_move() only works as root

Linux and BSD derivatives do not allow unprivileged users to "give away" files to others for security reasons. (System V derivatives allow that but they're rare nowadays.)

Thus, the additional chown in atomic_move() which was apparently introduced with v1.6 and which was already objected to in issue #7372 breaks usage of Ansible by non-root users. An example use case is a group-writable directory on a remote machine where users of the same group may drop off configuration files, possibly overwriting each other's files with newer versions. This used to work with versions prior to v1.6 and is now broken.

It used to be a key selling point of Ansible that it allows for non-root operation, in fact this is still mentioned in glossary.rst ("Ansible does not require root logins"), suggesting that the behaviour of v1.6 and onwards is in fact a bug.