-
Enhancement
-
Resolution: Done
-
Major
-
None
-
None
When ConfigurationFilePersistenceResource writes out the file, the temp file gets given the default permissions (on Unix, as per the umask) and then it is renamed over the original, resulting in losing metadata like permissions.
As far as I know, there is no portable way to atomically replace the contents of a file without losing attributes. Setting the temp file's permissions to the same as the original is subject to race conditions, and in some circumstances is not even possible (e.g. if WF has write access but is not the file owner). On Mac OS the "exchangedata" call does what is desirable but that is not available to Java.
NIO's PosixFileAttributeView/AclFileAttributeView would allow an attempt to be made at keeping permissions on the re-written file.
- causes
-
JBEAP-588 Seeing frequent "java.lang.UnsupportedOperationException: 'acl:acl' not supported as initial attribute" on Solaris arch
- Closed