Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
Оглавление |
---|
Информация |
---|
Данная статья применима к:
|
Запуск клиентской службы Baculа с привилегией PARSEC_CAP_UNSAFE_SETXATTR
Для того, чтобы клиентская служба Bacula (в терминологии Bacula - FileDaemon) могла при восстановлении объектов файловой системы (файлов, каталогов) правильно восстановить мандатные атрибуты этих объектов, нужно предоставить этой службе специальную Парсек-привилегию PARSEC_CAP_UNSAFE_SETXATTR (код привилегии 0x1000), позволяющую устанавливать мандатные атрибуты объектов без учета мандатных атрибутов объекта-контейнера. Эта привилегия специально предназначена для обеспечения возможности восстановления файловых объектов, так как в процессе восстановления могут возникать временные ситуации нарушения мандатных ограничений.
При использовании командной строки для применения этой привилегии можно использовать команду execaps (подробнее см. в статье про архивирование и восстановление, а также в документации).
Так как клиенnская клиентская служба резервного копирования/восстановления bacula не вызывается из командной строки, а выполняется запускается как системная служба, для того, чтобы она получала необходимую привилегию PARSEC_CAP_UNSAFE_SETXATTR при запуске, нужно внести изменения в юнит (файл запуска этой службы), а именно изменить в файле запуска службы /etc/init.d/bacula-fd строчку :
Информация |
---|
start-stop-daemon -c "$DAEMONUSER" --start |
на строчку
Информация |
---|
execaps -c 0x1000 -- start-stop-daemon -c "$DAEMONUSER" --start |
Сделать это можно с помощью текстового редактора, или командой:
Command |
---|
sudo sed -i -e 's/start-stop-daemon -c "$DAEMONUSER" --start/execaps -c 0x1000 -- start-stop-daemon -c "$DAEMONUSER" --start/g' /etc/init.d/bacula-fd |
Примечание | ||
---|---|---|
После внесения изменений не забудьте перезапустить службу:
|
Действия при восстановлении
Предупреждение |
---|
Чтобы предоставленная привилегия вступила в силу, необходимо отдельно разрешить её действие, записав единицу в файл /parsecfs/unsecure_setxattr. |
Сделать это можно, например, непосредственно перед началом восстановления подключившись к компьютеру, на котором выполняется восстановление, через SSH, и выполнив команду:
Command |
---|
echo 1 | sudo tee /parsecfs/unsecure_setxattr |
Данное разрешение будет действовать до перезагрузки компьютера, однако рекомендуется отозвать разрешение немедленно после завершения восстановления, записав ноль в файл /parsecfs/unsecure_setxattr:
Command |
---|
echo 0 | sudo tee /parsecfs/unsecure_setxattr |
Информация |
---|
В ОС СН Смоленск 1.6 данный функционал функционал предоставления привилегии PARSEC_CAP_UNSAFE_SETXATTR системной службе FileDaemon реализован "из коробки", однако включать и выключать действие привилегии всё равно нужно с помощью записи единицы в файл /parsecfs/unsecure_setxattr по описанной ниже процедуре. |