1

У меня есть вопрос о владении файлом / каталогом 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 ответ1

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .