Restic: Восстановление с помощью --include создает каталоги с неправильными разрешениями на пути вниз.

Созданный на 31 окт. 2017  ·  5Комментарии  ·  Источник: restic/restic

Вывод restic version

restic 0.7.3
скомпилирован с помощью go1.9 на linux / amd64

Как именно вы пробежали рестик?

См. Подробности ниже

Какой бэкэнд / сервер / сервис вы использовали?

Клиент: Debian Stable (9.2)
Сервер: сервер FreeBSD 11.1 в локальной сети с использованием OpenSSH (OpenSSH_7.2p2, OpenSSL 1.0.2k-freebsd 26 января 2017 г.)

Ожидаемое поведение

Все каталоги должны быть созданы с исходными разрешениями и владельцами, даже если вы восстанавливаете только файлы, находящиеся глубоко в иерархии.

Фактическое поведение

При восстановлении файлов, лежащих глубоко в иерархии, каталоги на пути вниз восстанавливаются с другим пользователем и разрешением, как и в оригинале.

Шаги по воспроизведению поведения

mkdir testdir # создать каталог
touch testdir / testfile # создайте в нем файл
chmod 755 testdir testdir / testfile # убедитесь, что разрешения 755
su # переключиться на root
restic -r sftp : rakor @ СЕРВЕР : / usr / home / rakor / resticbackuptest backup testdir # создание резервной копии
restic -r sftp : rakor @ SERVER : / usr / home / rakor / resticbackuptest restore latest -t testrestore -i testfile # восстановить файл (а не весь каталог)
ls -lR testrestore # файл восстанавливается с правильным владельцем и правами. Но каталоги на пути к файлу восстанавливаются с пользователем «root» и разрешениями 700.
testrestore /:
insgesamt 4
drwx ------ 2 root root 4096 31 окт 21:30 testdir

testrestore / testdir:
insgesamt 0
-rwxr-xr-x 1 rakor rakor 0 31 окт 21:25 testfile

Вы знаете, чем это могло быть вызвано?

Я бы подумал, что каталоги на пути вниз не «восстанавливаются», а просто «создаются» с «безопасными значениями по умолчанию».

Есть идеи, как решить проблему?

восстанавливать пустые каталоги, а не просто создавать их.

restore bug

Самый полезный комментарий

Для меня это определенно похоже на ошибку / проблему в функции восстановления. Если я восстанавливаю данные, которые изначально принадлежали какому-либо пользователю, в каталог, доступный для этого пользователя, я ожидаю, что этот пользователь сможет получить доступ к восстановленным данным, даже если была восстановлена ​​только часть. Восстановление атрибутов каталога (владелец / доступ / и т. Д.) Выглядит естественным способом достижения этой цели.

Кроме того, текущее поведение воспринимается как восстановление «наполовину» этих промежуточных каталогов (их существование восстанавливается, но их атрибуты нет), что кажется непоследовательным / нелогичным.

Все 5 Комментарий

Спасибо, что подняли этот вопрос. Я не уверен, что правильно установил предыдущие права доступа к промежуточным каталогам, позвольте мне немного подумать об этом.

Есть еще мысли по этому поводу?

Для меня это определенно похоже на ошибку / проблему в функции восстановления. Если я восстанавливаю данные, которые изначально принадлежали какому-либо пользователю, в каталог, доступный для этого пользователя, я ожидаю, что этот пользователь сможет получить доступ к восстановленным данным, даже если была восстановлена ​​только часть. Восстановление атрибутов каталога (владелец / доступ / и т. Д.) Выглядит естественным способом достижения этой цели.

Кроме того, текущее поведение воспринимается как восстановление «наполовину» этих промежуточных каталогов (их существование восстанавливается, но их атрибуты нет), что кажется непоследовательным / нелогичным.

Я считаю это ошибкой. Если я хочу восстановить часть резервной копии, восстановленную копию можно будет использовать. В настоящее время его невозможно использовать без выполнения операций restic ls для определения надлежащих разрешений, владельца и группы каждого элемента пути, который был создан автоматически. Это действительно затрудняет восстановление файлов / каталогов.

Я согласен с тем, что то, что восстановлено с помощью restic, должно быть восстановлено согласованным образом (то есть либо с разрешениями «по умолчанию» пользователя, выполняющего восстановление, либо с разрешениями и т. Д. Из исходных файлов и папок, для которых была создана резервная копия, а не с комбинация двух).

Однако я вижу вариант использования обоих типов разрешений:

  • Некоторым пользователям нужно / они хотят восстановить данные в новом контексте, и при этом они хотят, чтобы права собственности и разрешения были «по умолчанию», как если бы они сами создавали те же каталоги и файлы заново.
  • Некоторым пользователям необходимо / они хотят восстановить данные в том же или равном контексте, в котором они были скопированы, и при этом хотят, чтобы результат имел те же права собственности и / или разрешения, что и исходные файлы, для которых была создана резервная копия.
  • Некоторые пользователи хотят сохранить только разрешения, но не права собственности (хотя они могут легко исправить права собственности).

Я думаю, что разумный путь вперед состоит в том, что можно контролировать, какие права собственности и / или разрешения восстанавливаются с помощью некоторых параметров команды восстановления.

Кто-нибудь может подтвердить, что это все еще проблема? С момента выпуска 0.7.3 мы внесли несколько изменений в обработку разрешений (и отметок времени) для промежуточных каталогов ...

Была ли эта страница полезной?
0 / 5 - 0 рейтинги