Używam tego wywołania rsync do utworzenia kopii zapasowej mojego katalogu domowego:
rsync -aARrx --info= --force --delete --info=progress2 -F "$USER_HOME" "$BACKUP_MNTPOINT"
Strona man rsync mówi, że -a oznacza -g i -o (między innymi przełącznikami), co powinno zachować własność. Zauważyłem jednak, że jeśli katalog nie istnieje $BACKUP_MNTPOINT/$USER_HOME, jest on tworzony z własnością root: root zamiast z poprawnej. (Dzieje się tak tylko w przypadku katalogów bezpośrednio pod $BACKUP_MNTPOINT/$USER_HOME). Dlaczego?
$BACKUP_MNTPOINTjest dyskiem montowanym lokalnie. $BACKUP_MNTPOINT/$USER_HOMEma odpowiednią własność i uprawnienia. Ani się $USER_HOMEnie $BACKUP_MNTPOINTkończy ukośnikiem.
Zarówno źródłowy, jak i docelowy system plików to XFS, a uruchomienie mkdir $BACKUP_MNTPOINT/$USER_HOMEtworzy katalog z oczekiwaną własnością.
/homedysku zapasowego, jak i dla niego. Jak dotąd myślę, że stało się to tylko w przypadku katalogów nadrzędnych. Ani się $BACKUP_MNTPOINTnie $USER_HOMEkończy ukośnikiem. EDYCJA: Mogę potwierdzić, że teraz dzieje się to tylko z katalogami poniżej$BACKUP_MNTPOINT/$USER_HOME
mkdir $BACKUP_MNTPOINT/$USER_HOME/footworzy katalog z własnością użytkownika.
strace(jak podano w pseudo-odpowiedzi).
$BACKUP_MNTPOINTi przy jakich opcjach jest montowany? Czy dzieje się tak tylko w przypadku katalogu macierzystego ($BACKUP_MNTPOINT/$USER_HOME) lub wszystkich utworzonych katalogów? Zrób$BACKUP_MNTPOINTi$USER_HOMEzakończ z/?