Quick Notes
Sections here are really just placeholders with enough information to get started on building actual articles...
Better Permissions Handling
| 12 (bookworm) |
sudo apt install aclsudo mkdir /FOOBARsudo chown -R :users /FOOBARsudo chmod -R g+ws /FOOBARsudo setfacl -R -m g:users:rwx /FOOBAR
Now, the directory /FOOBAR is writeable by anyone in the users group.
Some Links
- Wikipedia : setuid
- Wikipedia : Access-control list
- StackExchange : Getting new files to inherit group permissions on Linux
- StackExchange : Using setfacl to create recursive permissions for Apache with rsync
Development Testing for a Backup Server
| 12 (bookworm) |
Currently testing on a pair of LXCs, both configured as priveledged containers (tho this may not be needed).
- VMID 999001: storage
- VMID 999002: backup
I've created a user named draal with specific responsibility for handling backups.(because remote access by root is stupid...)
draal has an equivalent account on ALL involved machines and is set up with ssh keys to avoid the use of password-based access.
On the PVE Server:
(setting up the storage for the test LXCs...)
mkdir /mnt/Storage-0mkdir /mnt/Storage-1mount -L Storage-0 /mnt/Storage-0mount -L Storage-1 /mnt/Storage-1vi /etc/fstab
LABEL=Storage-0 /mnt/Storage-0 ext4 defaults 0 0 LABEL=Storage-1 /mnt/Storage-1 ext4 defaults 0 0
pct set 999001 -mp0 /mnt/Storage-0,mp=/mnt/Storage # storagepct set 999002 -mp0 /mnt/Storage-1,mp=/mnt/Storage # backup
On "storage"
ssh-keygenssh-copy-id draal@backupapt install acl rsyncsetfacl -R -m u:draal:rwx /mnt/Storage
On "backup"
ssh-keygenssh-copy-id draal@storageapt install acl rsyncsetfacl -R -m u:draal:rwx /mnt/Storage
Testing rsync commands
In order to test things, I've basically dumped a copy of my Documents folder into /mnt/Storage on the storage LXC. This is around 25GB of incredibley mixed & sloppy crap varying from zero-length placeholders to USB binaries...
Everything from here on is done while logged in to storage as draal.
cd /mnt/Storagersync -Aaiz * backup:/mnt/Storage- copies all files to the backup machine
- Took about 7 minutes... (measured by wrapping the command in a time command)
- (& if you run it again, only copies NEW or CHANGED files)
- Every change I made took substantially under 1 second...
- copies all files to the backup machine
rsync -Aaiz --delete * backup:/mnt/Storage- Will actually synchronize. (i.e. It will DELETE any files from the destination that have been removed on the source.)
- DANGER...DANGER...DANGER
- This may NOT be exactly what you want to do in a backup situation.
- (But it might... Your choice...)