In the past, I was using Duplicati only on Windows. I also backed up data from a Linux machine (from Windows) by having a pre-script that logs in to the Linux machine vis SSH and creates a tar file with all the Linux data. That tar file then is included in the Windows backup job.
By this, the file permissions from Linux were stored in the tar file. When I had to restore the data on Linux I could unpack the restored tar file as root user and having also the file permissions restored by that.
Now, I have installed Duplicati on that Linux machine natively using Docker. But I don’t want to run Duplicati as root user there. So, I created a user “duplicati” on Linux and made sure that the user has read permission to all files that should be included into the backup. That works fine so far.
But when restoring a backup using the “duplicati” user, then the user does not seem to be able to restore the file permissions in the restored files properly. I get warnings like this in the restore operation:
2024-10-31 08:15:47 +00 - [Warning-Duplicati.Library.Main.Operation.RestoreHandler-MetadataWriteFailed]: Failed to apply metadata to file: "/host/mnt/data-ssd/duplicati-restore/mnt/data-ssd/jellyfin/config/data/ScheduledTasks/b1a52e63-d5fb-0933-5557-d4f1e6402299.js", message: Operation not permitted
InvalidOperationException: Operation not permitted
I consider the file permissions information as very important. When restoring a backup on Linux and having all file permissions messed up is a problem for me.
So, is there a possibility to restore file permissions on Linux correctly when running as a non-root user?
Thanks!