Вопрос или проблема
Как мне изложили:
-
Без шифрования, так как это может быть использовано и на Windows (поэтому эта папка будет находиться в разделе NTFS).
-
Без сжатия, чтобы пользователь мог легко перемещать файлы внутрь и наружу, не выполняя “ничего особенного” (например, не щелкая по меню).
-
Без прав доступа, так как пользователь может использовать этот диск на других компьютерах (которые, вероятно, будут под управлением Windows).
-
Без отдельных учетных записей/профилей Linux для разделения данных, так как сам диск должен быть съемным.
Основная идея заключается в том, что у пользователя есть установка Linux, но ему нужна папка с очень простой защитой паролем для Linux.
“Угроза”? Семилетний ребенок пользователя, который не разбирается в компьютерах, но (как уже было) удалял важные файлы в прошлом. У пользователя нет денег на покупку другого компьютера для ребенка.
Я отделил раздел с рассматриваемой директорией на отдельном жестком диске и создал символическую ссылку на текущую установленную ОС для удобства доступа пользователя, но не знаю, как просто защитить директорию паролем, как в Windows.
Также, дополнительная похвала, если решение будет работать на основных дистрибутивах Linux (на основе Arch, Debian, Fedora и т.д.) — таким образом, независимо от того, какой дистрибутив пользователь решит попробовать в следующий раз, оно будет работать. (Пользователь рассматривает Nobara — в настоящее время на Netrunner).
Я посмотрел на эти решения, и они предполагали шифрование:
Самый простой способ защитить директорию и её содержимое паролем без создания новых файлов?
Как создать защищенную паролем папку на сервере Linux?
Создание защищенных паролем папок внутри защищенного паролем общего ресурса Samba
Нет программного обеспечения, которое могло бы удовлетворить ваши требования.
Файловая система NTFS
не предоставляет “хуков”, которые требуются для любой сложной защиты Linux, чтобы перехватывать вызовы open
и отправлять их в схему защиты.
Вы не учли контекст, в котором процесс выполняет open
(STDOUT
, STDERR
, @ENV
и т.д.). Как схема защиты, которая перехватила open
, найдет, кому задать вопрос?
Собираетесь ли вы ограничить количество выданных запросов, или придется обрабатывать сотни в секунду?
Ответ или решение
К сожалению, решение вашей задачи создания простого пароля для защиты директории в Linux без использования шифрования, сжатия или установки разрешений — это сложная задача, особенно с учетом ограничений, связанных с файловой системой NTFS. В то же время, я предложу вам несколько альтернативных способов, которые могут помочь в вашей ситуации.
Использование скрипта для ограничения доступа
Одним из возможных подходов является создание простого оболочного скрипта, который будет требовать ввод пароля перед доступом к содержимому директории. Ваша структура каталогов будет выглядеть следующим образом:
- Создайте директорию, которую нужно защитить, например,
/mnt/my-secure-dir
. - Создайте оболочный скрипт, который будет требовать ввод пароля. Этот скрипт может находиться, например, в
/usr/local/bin/secure-access.sh
.
Пример скрипта
#!/bin/bash
# Установите свой пароль здесь
PASSWORD="ваш_пароль"
# Запрашиваем ввод пароля
echo "Введите пароль для доступа к защищенной директории:"
read -s INPUT_PASSWORD
# Проверяем пароль
if [ "$INPUT_PASSWORD" == "$PASSWORD" ]; then
# Если пароль верный, открываем терминал в защищенной директории
cd /mnt/my-secure-dir || exit
exec /bin/bash
else
echo "Неверный пароль. Доступ закрыт."
exit 1
fi
Сделайте скрипт исполняемым
chmod +x /usr/local/bin/secure-access.sh
Использование скрипта для замены доступа в GUI
Если вам удобнее использовать графический интерфейс, вы можете создать значок на рабочем столе, который будет запускать этот скрипт. Однако стоит понимать, что это решение не является надежным защитником. Оно подходит только для базового ограниченного доступа и может быть легко обойдёт в случае минимального технического знания.
Ограничения решения
- Неявное сообщение: Это решение по сути работает на уровне пользователя и не препятствует тому, чтобы кто-либо просто открыл директорию через командный интерфейс, если знает, как это сделать.
- Удобство использования: Пользователь должен знать, где искать и как запускать скрипт, что может быть не идеально для мелкого пользователя.
- Недостаточная безопасность: Это не замена настоящей защиты данных. Защита папки с помощью пароля – это лишь дополнительный барьер, а не надежный механизм.
Заключение
Полноценная защита директории без использования шифрования, разрешений или иных средств защиты файловой системы невозможна в чистом виде, особенно в системах, работающих на NTFS. Однако предоставленный скрипт может помочь ограничить доступ для неавторизованных пользователей на базовом уровне. Рассмотрите возможность резервного копирования важных файлов и периодической проверки каталогов на наличие нежелательных изменений.