Установите символьную ссылку от своего корня документа до папки.
ln -s /var/www/reports /root/Dropbox/Reports
Это помогает непосредственно получить доступ к этим файлам, не изменяя настройки безопасности в Apache и PHP, если файлы читаемы.
Кажется, это невозможно с помощью команды 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.
Невозможно изменить режим "только чтение" на "чтение-запись" после открытия тома. Я не вижу никаких опций в исходном коде cryptsetup для этого.