Владение файлами / каталогами Linux: я могу скопировать файл, но не сделать резервную копию через unison

143
Diagon

У меня есть вопрос о владении файлом / каталогом Linux, который позволяет мне копировать файл с помощью cp, но не создавать резервные копии с помощью утилиты unison. Кажется, проблема в смене владельца временного файла унисон. Я хотел бы знать, как это исправить.

Файл находится в структуре каталогов, которая выглядит следующим образом:

/.../A/B/C/D.txt 

Владение и разрешения выглядят так:

A is root:root, 500 (rx) B is me:root, 500 (rx) C is me:root, 700 (rwx) D.txt is me:root, 600 (rw) 

Если я cp D.txtиспользую файловую структуру с одинаковым доступом и правами на рабочем столе, которая начинается с B, все в порядке. С другой стороны, если я использую unison для копирования структуры каталогов, произойдет сбой при смене владельца файла ".unison.D.txt.nnnnn". Есть ли исправление?

UNISON 2.48.3 начал распространять изменения в 02: 53: 54.51 20 ноября 2018 года

[BGN] Копирование B / C / D.txt из /.../A в / home / me / Desktop / [то есть в /home/me/Desktop/B/C/D.txt]

Ошибка: ошибка в настройке владельца файла:
операция не разрешена [chown (/home/me/Desktop/B/C/.unison.testing.txt.a14bcb4fe76cb8c262af6a50e2043619.unison.tmp)]

Не удалось [B / C / D.txt]: ошибка в настройке владельца файла:
операция не разрешена [chown (/home/me/Desktop/B/C/.unison.testing.txt.a14bcb4fe76cb8c262af6a50e2043619.unison.tmp)]

UNISON 2.48.3 завершил распространение изменений в 02: 53: 54.51 20 ноября 2018 года

Справочная информация: я пытаюсь использовать unison & incron для резервного копирования онлайн-файловой системы Keybase, которая существует в /run/user/1000/keybase/kbfs. Ниже этой директории я нахожу коллекцию папок, принадлежащих мне: root. Все каталоги в режиме 500 (rx), за исключением моего (/.../kbfs/private/me), который равен 700 (rwx). Все файлы в режиме 600 (rw). Я хочу, чтобы это отражалось на моем рабочем столе.

1
Мне кажется, что ошибка не копирует файл, а сохраняет права владения. Является ли / home локальным диском (если да, каким типом раздела) или каким-либо другим типом монтирования - и, если последнее, использует ли он SMB, NFS или что-то еще? davidgo 1 год назад 1
/ home - это подраздел btrfs, @home, который с @ (root) находится в том же основном разделе моего SSD. Diagon 1 год назад 0

1 ответ на вопрос

0
Diagon

Проблема, похоже, не в унисон, но в том, что на одной стороне копии находится файловая система, управляемая базой ключей. Keybase позволяет мне записывать в его каталог и сообщать мне: владелец root, но когда unison пытается создать файл me: root на моем рабочем столе, происходит сбой. Я понимаю, что файловые системы могут в значительной степени сообщать обо всем, что они хотят в отношении разрешений, и вести себя так, как они хотят, в отношении возможности чтения / записи / выполнения.

Решение для унисон состоит в том, group = falseчтобы не пытаться синхронизировать владение root. В этом случае также необходимо perms = 0o1700избегать попыток установить биты прав доступа root или других пользователей.

Это работает, когда unison запускается из cli, но продолжает вызывать проблемы при использовании с incrond - но это для другого вопроса ...