Автоматически монтировать том 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".
Это всего лишь примеры. Просто создайте свой собственный скрипт для монтирования тома и введите пароль, если хотите. Конечно, если вы сделаете это, то ваш пароль будет сохранен в виде открытого текста на вашем жестком диске. Вы можете изменить скрипт, чтобы запрашивать пароль, конечно.