I found that it fails for the regular user if the file already exists in the directory. The user does have read-write access to the parent directory (and I assume to all its children?).
Do you find this to be the case for you as well and what will be the solution?