Подробный гайд: защита папки в ALT Linux
ALT Linux — российский дистрибутив на базе собственной пакетной базы (использует apt), поэтому большинство стандартных Linux-инструментов работают «из коробки». Рассмотрим все основные способы защиты папок — от базовых прав доступа до полноценного шифрования.
Содержание
- Базовые права доступа (chmod / chown)
- Расширенные списки доступа ACL
- Неизменяемые атрибуты (chattr)
- Шифрование папки через gocryptfs (рекомендуется)
- Шифрование через EncFS
- Зашифрованный контейнер LUKS (образ-файл)
- Скрытие папки (dot-файлы)
- Сравнительная таблица методов
- Рекомендации по выбору
1. Базовые права: chmod и chown
Самый простой уровень — запретить доступ другим пользователям.
Просмотр текущих прав
ls -l /путь/к/папке
# Пример вывода: drwxr-xr-x 2 user group 4096 Jun 23 10:00 secret
Запрет доступа всем, кроме владельца
chmod 700 ~/secret
# 7 (rwx) для владельца, 0 для группы, 0 для остальных
Смена владельца
sudo chown denis:denis ~/secret
Рекурсивно для всей папки и содержимого
chmod -R 700 ~/secret
chown -R denis:denis ~/secret
Важно: права 700 защищают только от других пользователей системы. Root-доступ или загрузка с LiveCD обходят эту защиту.
2. Расширенные списки доступа (ACL)
ACL позволяют гибко выдавать права конкретным пользователям/группам.
Установка утилит
sudo apt-get update
sudo apt-get install acl
Проверка поддержки ACL файловой системой
mount | grep acl
# В ext4 ACL включены по умолчанию
Примеры использования
# Выдать пользователю ivan только чтение папки
setfacl -m u:ivan:r-x ~/secret
# Выдать группе developers полный доступ
setfacl -m g:developers:rwx ~/secret
# Удалить ACL для пользователя
setfacl -x u:ivan ~/secret
# Посмотреть текущие ACL
getfacl ~/secret
# Рекурсивно применить ко всем вложенным файлам
setfacl -R -m u:ivan:r-x ~/secret
# Установить ACL по умолчанию (наследуется новыми файлами)
setfacl -d -m u:ivan:r-x ~/secret
3. Неизменяемые атрибуты: chattr
Защищают файлы даже от root (пока атрибут установлен).
Сделать папку неизменяемой (нельзя удалить/переименовать/изменить)
sudo chattr -R +i ~/secret
Режим «только добавление» (можно дописывать, нельзя менять/удалять)
sudo chattr +a ~/secret/logfile.log
Снять атрибут
sudo chattr -R -i ~/secret
sudo chattr -a ~/secret/logfile.log
Проверка атрибутов
lsattr ~/secret
# Пример вывода: ----i---------e---- secret/file.txt
Отлично подходит для: защиты критичных конфигов, логов, системных файлов от случайного или злонамеренного изменения.
4. Шифрование папки через gocryptfs (рекомендуется)
gocryptfs — современное FUSE-шифрование на базе Go. Быстрее и безопаснее EncFS.
Установка
sudo apt-get install gocryptfs
Если пакета нет в репозитории ALT, можно скачать бинарник с github.com/rfjakob/gocryptfs/releases или собрать из исходников.
Создание зашифрованной папки
mkdir ~/encrypted ~/decrypted
# Инициализация (создаст мастер-ключ и пароль)
gocryptfs -init ~/encrypted
Обязательно сохраните мастер-ключ (будет выдан при инициализации) — без него при утере пароля данные не восстановить.
Монтирование (открытие папки)
gocryptfs ~/encrypted ~/decrypted
# Введите пароль → теперь все файлы в ~/decrypted зашифрованы на диске в ~/encrypted
Размонтирование
fusermount -u ~/decrypted
Автомонтирование через systemd (для пользователя)
Создайте файл ~/.config/systemd/user/gocryptfs.service:
[Unit]
Description=gocryptfs mount
After=network.target
[Service]
Type=fuse
ExecStart=/usr/bin/gocryptfs /home/denis/encrypted /home/denis/decrypted
ExecStop=/bin/fusermount -u /home/denis/decrypted
Restart=on-failure
[Install]
WantedBy=default.target
Активация:
systemctl --user daemon-reload
systemctl --user enable --now gocryptfs.service
5. Шифрование через EncFS
Более старый, но всё ещё рабочий вариант.
Установка
sudo apt-get install encfs
Создание зашифрованной папки
encfs ~/encrypted ~/decrypted
# При первом запуске выберите режим "paranoia" (x) для максимальной защиты
Монтирование/размонтирование
encfs ~/encrypted ~/decrypted # смонтировать
fusermount -u ~/decrypted # размонтировать
Внимание:
EncFS имеет известные уязвимости к атакам по метаданным. Для новых проектов используйте gocryptfs.
6. Зашифрованный контейнер LUKS (образ-файл)
Создаём файл-образ, который монтируется как отдельный зашифрованный диск.
Создание образа размером 1 ГБ
# Создать пустой файл
dd if=/dev/zero of=~/secret.img bs=1M count=1024
# Отформатировать как LUKS
sudo cryptsetup luksFormat ~/secret.img
# ВНИМАНИЕ: команда необратима, подтвердите YES
# Открыть контейнер
sudo cryptsetup open --type luks ~/secret.img myvault
# Введите пароль
# Создать файловую систему
sudo mkfs.ext4 /dev/mapper/myvault
# Смонтировать
sudo mkdir -p /mnt/vault
sudo mount /dev/mapper/myvault /mnt/vault
# Назначить владельца
sudo chown denis:denis /mnt/vault
Скрипт для удобного монтирования/размонтирования
Создайте ~/bin/vault.sh:
#!/bin/bash
IMG="$HOME/secret.img"
NAME="myvault"
MNT="/mnt/vault"
case "$1" in
open)
sudo cryptsetup open --type luks "$IMG" "$NAME"
sudo mount /dev/mapper/"$NAME" "$MNT"
echo "Хранилище открыто в $MNT"
;;
close)
sudo umount "$MNT"
sudo cryptsetup close "$NAME"
echo "Хранилище закрыто"
;;
*)
echo "Использование: $0 {open|close}"
;;
esac
chmod +x ~/bin/vault.sh
~/bin/vault.sh open
~/bin/vault.sh close
7. Скрытие папки (dot-файлы)
В Linux файлы/папки, начинающиеся с точки, скрыты по умолчанию в файловых менеджерах и ls.
mv ~/secret ~/.secret
Чтобы увидеть скрытое:
ls -la
# В файловом менеджере: Ctrl+H
Важно: это не защита, а лишь сокрытие от любопытных глаз.
8. Сравнительная таблица
| Метод | Защита от других пользователей | Защита от root | Защита от кражи диска | Сложность |
|---|---|---|---|---|
chmod 700 |
Есть | Нет | Нет | Низкая |
| ACL | Высокая | Нет | Нет | Средняя |
chattr +i |
Есть | Частично (только через сброс атрибута) | Нет | Средняя |
| gocryptfs | Есть | Есть | Есть | Выше средней |
| EncFS | Есть | Есть | Есть | Выше средней |
| LUKS-контейнер | Есть | Есть | Есть | Высокая |
| Dot-скрытие | Нет | Нет | Нет | Низкая |
9. Рекомендации
- Обычная защита от других пользователей системы →
chmod 700+ ACL. - Защита от изменения важных файлов →
chattr +i. - Защита конфиденциальных данных (документы, ключи, пароли) → gocryptfs (оптимальный выбор).
- Максимальная защита + переносимость → LUKS-контейнер (можно хранить на флешке).
- Для музыкальных проектов и творческих материалов → gocryptfs для хранения исходников и мастер-файлов.
Быстрый старт (gocryptfs за 3 команды)
sudo apt-get install gocryptfs
mkdir ~/vault.enc ~/vault
gocryptfs -init ~/vault.enc
gocryptfs ~/vault.enc ~/vault
Готово — всё, что вы положите в ~/vault, будет зашифровано на диске в ~/vault.enc.
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.