I am using some cloud storage services (like Dropbox, MEGA, Amazon Cloud Drive, etc). Most of these do not support symlinks and file permissions (simple read/write/execute permissions for user, group, all).
Dropbox supports file permissions but not symlinks. MEGA supports neither and the (third-party) Linux clients I found for Amazon Cloud Drive support neither symlinks or permissions.
I was wondering whether there is a light-weight file system that implements symlinks and file permissions on top of a file system that does not support them natively. I am thinking about something where permissions are stored in an additional file (maybe per directory) and if that file system is mounted (presumably through FUSE) then it would read that permission list and show the correct permissions in the FUSE-mounted file system. Similarly, it could use a special file for symlinks and transparently make these work on an underlying file system that does not support it.
Before I start writing my own FUSE file system that does that, I wanted to know whether someone else already had the same idea and I don't have to reinvent the wheel...
(Note that I am aware of security issues with storing permissions in a separate file, as they could be changed by changing that file. However, if the underlying file system does not support permissions, then I'm not sure whether there is a way to securely implement permissions on top of that, because if one has access to the underlying file system, one can do anything anyway. This is more of a convenience thing for me. If I make a file executable on one client that syncs with cloud storage, I want it to become executable on the other clients as well. Similarly for symlinks.)