Я використовую це виклик rsync для резервного копіювання домашнього каталогу:
rsync -aARrx --info= --force --delete --info=progress2 -F "$USER_HOME" "$BACKUP_MNTPOINT"
Сторінка людини rsync говорить, що -a означає -g та -o (серед інших комутаторів), які повинні зберігати право власності. Однак я помітив, що якщо каталог не існує під $BACKUP_MNTPOINT/$USER_HOME, він створюється з root: root володіння замість правильного. (Це відбувається лише з каталогами прямо під $BACKUP_MNTPOINT/$USER_HOME). Чому так?
$BACKUP_MNTPOINT- місцевий привід. $BACKUP_MNTPOINT/$USER_HOMEмає право власності та дозволи. Ні косою, $USER_HOMEні $BACKUP_MNTPOINTкінкою.
І вихідна, і цільова файлові системи є XFS, і запущена програма mkdir $BACKUP_MNTPOINT/$USER_HOMEстворює каталог із очікуваним правом власності.
/homeі резервних дисків. Поки що я думаю, що це сталося лише для батьківських каталогів. Ні косою, $BACKUP_MNTPOINTні $USER_HOMEкінкою. EDIT: Я можу зараз підтвердити, що це відбувається лише в каталогах прямо внизу$BACKUP_MNTPOINT/$USER_HOME
mkdir $BACKUP_MNTPOINT/$USER_HOME/fooстворюється каталог із правом власності користувача.
strace(як зазначено у псевдовідповіді).
$BACKUP_MNTPOINTта за допомогою яких опцій вона монтується? Чи трапляється це лише для батьківського$BACKUP_MNTPOINT/$USER_HOMEкаталогу ( ) або для всіх створених каталогів? Зробіть$BACKUP_MNTPOINTі$USER_HOMEзакінчуєте/?