повторно отобразите раздел LUKS только для чтения на чтение-запись

Установите символьную ссылку от своего корня документа до папки.

ln -s /var/www/reports /root/Dropbox/Reports

Это помогает непосредственно получить доступ к этим файлам, не изменяя настройки безопасности в Apache и PHP, если файлы читаемы.

6
03.10.2014, 21:25
2 ответа

Кажется, это невозможно с помощью команды cryptsetup. К сожалению, cryptsetupимеет несколько таких неизменяемых флагов... --allow-discardsтакже является одним из них. Если это не было установлено во время открытия контейнера, вы не сможете добавить его позже.

По крайней мере, не с помощью команды cryptsetup. Однако, поскольку cryptsetupсоздает обычные цели Device Mapper, вы можете прибегнуть к dmsetupдля их изменения. Конечно, это не рекомендуется по разным причинам :это похоже на изменение таблицы разделов используемых разделов -, и вы можете потерять все свои данные.

Устройство сопоставления устройств позволяет динамически переназначать все устройства во время выполнения и совершенно не заботится о безопасности ваших данных; вот почему эта функция обычно находится за слоем LVM, который хранит необходимые метаданные, чтобы сделать его безопасным.

Создать устройство LUKS -только для чтения:

# truncate -s 100M foobar.img
# cryptsetup luksFormat foobar.img
# cryptsetup luksOpen --read-only foobar.img foobar

Как dmsetupэто видит:

# dmsetup info foobar
Name:              foobar
State:             ACTIVE (READ-ONLY)
Read Ahead:        256
Tables present:    LIVE
[...]
# dmsetup table --showkeys foobar
0 200704 crypt aes-xts-plain64 ef434503c1874d65d33b1c23a088bdbbf52cb76c7f7771a23ce475f8823f47df 0 7:0 4096

Обратите внимание на мастер-ключ, который обычно не подлежит утечке, так как он ломает любую защиту от грубой -силы, которую предлагает LUKS. К сожалению, я не нашел способа без его использования, так как dmsetupтакже не имеет прямой опции --make-this-read-write. Однако dmsetup reloadпозволяет полностью заменить отображение, поэтому мы заменим его собой в режиме чтения -записи.

# dmsetup table --showkeys foobar | dmsetup reload foobar
# dmsetup info foobar
Name:              foobar
State:             ACTIVE (READ-ONLY)
Read Ahead:        256
Tables present:    LIVE & INACTIVE

Он по-прежнему читается -только после перезагрузки, потому что перезагрузка переходит в неактивную таблицу.

Чтобы сделать неактивную таблицу активной, используйтеdmsetup resume:

# dmsetup resume foobar
# dmsetup info foobar
Name:              foobar
State:             ACTIVE
Read Ahead:        256
Tables present:    LIVE

Итак, у нас есть устройство LUKS для чтения -записи.

Работает ли это с работающей файловой системой?

# cryptsetup luksOpen --readonly foobar.img foobar
# mount /dev/mapper/foobar /mnt/foobar
mount: /mnt/foobar: WARNING: device write-protected, mounted read-only.
# mount -o remount,rw /mnt/foobar
mount: /mnt/foobar: cannot remount /dev/mapper/foobar read-write, is write-protected.

Таким образом, он -только для чтения. Сделать чтение -запись и перемонтирование:

# dmsetup table --showkeys foobar | dmsetup reload foobar
# dmsetup resume foobar
# mount -o remount,rw /mnt/foobar
# echo hey it works > /mnt/foobar/amazing.txt

Можем ли мы вернуться к чтению только -?

# mount -o remount,ro /mnt/foobar
# dmsetup table --showkeys foobar | dmsetup reload foobar --readonly
# dmsetup resume foobar
# mount -o remount,rw /mnt/foobar
mount: /mnt/foobar: cannot remount /dev/mapper/foobar read-write, is write-protected.

Вероятно, это работает. Процесс добавления флага allow_discardsк существующему отображению крипты аналогичен -: вам нужно перезагрузить таблицу, содержащую этот флаг.Однако файловая система, которая уже обнаружила отсутствие поддержки отбрасывания, может оказаться неубедительной -обнаружить это на лету. Так что непонятно, насколько это практично.


Тем не менее, если у вас нет веских причин не делать этого, вы должны придерживаться повторного -открытия с помощью обычных cryptsetupкоманд, даже если это означает размонтирование и повторное -предоставление парольной фразы. Это безопаснее во всех отношениях и, что более важно, не нарушает концепцию безопасности LUKS.

1
27.01.2020, 20:30

Невозможно изменить режим "только чтение" на "чтение-запись" после открытия тома. Я не вижу никаких опций в исходном коде cryptsetup для этого.

0
27.01.2020, 20:30

Теги

Похожие вопросы