In ubuntu how does the OS prevent an app from overwriting files owned by other apps? What is the framework/mechanisms? How does the OS know which files are owned by one app