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

2 ответа2

0

Я думаю, что вам нужно будет пропатчить вашу программу (ы) для входа - 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.

0

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 ".

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

Источник

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .