Автоматически монтировать том Truecrypt при входе в систему с использованием пароля учетной записи

Я использую Linux Mint Debian Edition. Я хотел бы, чтобы том Truecrypt (файл в моем домашнем каталоге или отдельный раздел) автоматически монтировался при входе в систему с использованием моего пароля для входа. Это возможно? Если нет, то как я могу заставить его запрашивать пароль и монтировать сразу после входа в систему?

2 ответа

Я думаю, что вам нужно будет исправить ваши программы входа в систему - login, xdm/gdm/kdm,... - чтобы смонтировать том или передать введенный пароль другому процессу. Передача пароля в открытом виде другому процессу представляется угрозой безопасности. Нет ва

Запрос пароля после входа в систему кажется достаточно простым и безопасным. Существует лишь небольшая неудобство при вводе пароля дважды для первого входа в систему (или входа в систему после того, как вы решите автоматически или вручную отключить зашифрованный том).

Как именно ответ будет выглядеть, зависит от вашего метода входа в систему. У каждой графической настольной системы, вероятно, свой метод задания программы. Как выполнять команды как часть входа в вашу любимую систему GUI Desktop, стоит другого отдельного вопроса. Существенным для вашего текущего вопроса является то, что вы можете создать сценарий, чтобы проверить, смонтирован ли ваш том Truecrypt, а если нет, то смонтировать его, и настроить свой логин для запуска этого сценария, который бы выглядел так же просто, как показано ниже:

#!/bin/sh

your_truecrypt_volume_mounted || mount_true_crypt_volume

где your_truecrypt_volume_mounted является функцией оболочки или командой для проверки, если вы уже смонтировали зашифрованный том (возможно, может просто grep вывод mount), а также mount_true_crypt_volume это команда или функция оболочки для монтирования вашего тома. Если вы входите в графический рабочий стол (Gnome/KDM/XFCE/ что угодно), вы можете запустить команду монтирования в терминальном приложении, чтобы у пользователя мог быть запрошен пароль. Вы можете использовать DISPLAY переменная окружения как подсказка о том, что вы запускаете сеанс X Windows или задайте его как параметр командной строки для сценария, если вы хотите использовать его повторно (без указания в нескольких местах пути монтирования и т. д.).

Для входа в виртуальную консоль, вы можете запустить тот же скрипт в вашем ~/.bash_login файл, принимая по умолчанию bash это твоя оболочка

Вы, наверное, уже знаете, что такое команды для монтирования тома Truecrypt и проверки наличия тома Truecrypt.

Debian использует систему инициализации, подобную Sys-V, для выполнения команд при изменении уровня выполнения системы - например, во время загрузки и завершения работы.

Если вы хотите добавить новый сервис для запуска при загрузке машины, вам нужно добавить необходимый скрипт в каталог /etc/init.d/. Многие из сценариев, уже присутствующих в этом каталоге, дадут вам пример того, что вы можете сделать.

Вот очень простой скрипт, который разделен на две части: код, который всегда выполняется, и код, который запускается при вызове с помощью "start" или "stop".

#! /bin/sh
# /etc/init.d/blah
#

# Some things that run always
touch /var/lock/blah

# Carry out specific functions when asked to by the system
case "$1" in
  start)
    echo "Starting script blah "
    echo "Could do more here"
    ;;
  stop)
    echo "Stopping script blah"
    echo "Could do more here"
    ;;
  *)
    echo "Usage: /etc/init.d/blah {start|stop}"
    exit 1
    ;;
esac

exit 0

После того, как вы сохранили файл в правильном месте, убедитесь, что он исполняется, запустив "chmod 755 /etc/init.d/blah".

Затем вам нужно добавить соответствующие символические ссылки, чтобы скрипт выполнялся, когда система выключается или запускается.

Самый простой способ сделать это - использовать команду update-rc.d, специфичную для Debian:

root @ skx: ~ # update-rc.d blah по умолчанию Добавление запуска системы для /etc/init.d/blah... /etc/rc0.d/K20blah ->../init.d/blah
/etc/rc1.d/K20blah ->../init.d/blah /etc/rc6.d/K20blah ->../init.d/blah /etc/rc2.d/S20blah ->../init.d / бла
/etc/rc3.d/S20blah -> ../init.d/blah /etc/rc4.d/S20blah -> ../init.d/blah /etc/rc5.d/S20blah -> ../init.d/ бла

Если вы хотите удалить скрипт из последовательности запуска в будущем, выполните:

root @ skx: /etc/rc2.d# update-rc.d -f blah remove update-rc.d: /etc/init.d/blah существует во время очистки rc.d (продолжение) Удаление любых системных загрузочных ссылок для / etc /init.d/blah... /etc/rc0.d/K20blah
/etc/rc1.d/K20blah /etc/rc2.d/S20blah /etc/rc3.d/S20blah
/etc/rc4.d/S20blah /etc/rc5.d/S20blah /etc/rc6.d/K20blah

Это оставит сам скрипт на месте, просто удалите ссылки, которые вызывают его выполнение.

Вы можете найти более подробную информацию об этой команде, запустив "man update-rc.d".

Это всего лишь примеры. Просто создайте свой собственный скрипт для монтирования тома и введите пароль, если хотите. Конечно, если вы сделаете это, то ваш пароль будет сохранен в виде открытого текста на вашем жестком диске. Вы можете изменить скрипт, чтобы запрашивать пароль, конечно.

Источник

Другие вопросы по тегам