Given that an app is writing files with 700
permissions, which means they are not readable by the group, I need these files to be readable by a special backup user account.
ACL
seems to be completely useless since chmod
modifies the mask and users other than the owner or other groups still have no permissions.
- Periodically doing recursive
chmod
? Hakish and resource waste, especially on very large file sets. - Using root for this (via sudo)? Not secure. No fine-grained control. Not appropriate for rsync initiated on remote machine, for example NAS.
- Using same user as the app making those files, i.e. using owner user for backups. Still hakish and not desired since backup user should have only read access and only for given directories.. Especially important for rsync initiated from outside.
- Mounting given directory to another directory using something like
bindfs
? Performance hit is significant and not justified for such simple permission-related task.
I wonder why linux doesn't allow administrators dictate applications minimal allowed permission on files (The maximum permissions can be limited using a mask, but it cannot be enforced or transparently added, which seems weird)
Any solutions?
rrsync
is a script to enforce restrictedrsync
. It relies on the possibility inssh
to set an authorized key to a specific set of commands only. Link. || Alternatively - maybe use asamba
-share locally and lock it down as far as possive incl. read-only and localhost (or backup server IP) as client source.