sed -e '/^[0-9]/d' filename > filename.new
или изменить на месте
sed -i -e '/^[0-9]/d' filename
Короткий ответ: Нет.
У Вас могло быть несколько ключей в различных слотах, но это не связано с Вашим вопросом.
Для безопасности , я поддерживаю контрольную сумму для электронных дисков, и cryptsetup статически связан ,, и я проверяю их автоматически каждый раз, я загружаюсь.
ОБНОВЛЕНИЕ
Контрольная сумма хранится на зашифрованном FS, Вы не можете изменить его, пока Вы не монтируете тот раздел.
Таким образом, если Вы удаленно не используетесь или Ваши программы в двоичном представлении, например, электронный диск / cryptsetup на rootfs изменяется, это безопасно. (BTW: Мой rootfs шифруется, только ядро / электронный диск является явным там, вот почему я проверяю их только, но готовлюсь к медленной скорости загрузки с медленным ЦП/жестким диском),
Я не думаю, что что-то вроде этого существует прямо из поля, но это должно быть возможно. Я соединю некоторые ссылки для Вас.
Сначала существует/etc/crypttab - обычно Вы указываете файл ключей или пароль в третьем слоте, но некоторые дистрибутивы позволяют Вам указывать опцию в четвертом названном поле keyscript
(debian и opensuse поддерживают это: http://linux.frank4dd.com/en/man5/crypttab.htm). Этот сценарий (который должен быть в "/lib/cryptsetup/scripts" iirc) может использовать третье поле (каковы обычно были бы просто файл ключей или пароль) как аргумент. Задание keyscript состоит в том, чтобы отправить фактический ключ расшифровки в stdout, который затем использует cryptsetup, поскольку удачи вводят нормальный вид.
Второй то, что необходимо будет, вероятно, записать keyscript. netkeyscript
(в GitHub), пример keyscript, который слушает на многоадресном сокете UDP для пароля; вот другой более подробный пример пользовательского ключевого сценария, вместе с реализацией в sh
: http://wejn.org/how-to-make-passwordless-cryptsetup.html. Как Вы кодируете keyscript (который я просто назову multifactor
) Я уезжаю как осуществление Вам ;)
Треть является секретным разделением. можно использовать инструмент с открытым исходным кодом, названный "ssss" (Google для "ssss-разделения") для разделения пароля удач таким образом, Вы описываете. скажем, Вы разделяете его на 3 части (a, b, c) и требуете любых 2 из них. сохраните "a" на карте памяти, "b" в хранилище и "c", который Вы снабжаете компьютером (незашифрованный раздел), или что бы то ни было. Конечно, Вы не хотите, чтобы "c" был выставлен, поэтому шифруете его со схемой по Вашему выбору с помощью пароля, который можно помнить, и вызов тот пароль"c0
", и зашифрованный"c
"на Вашем диске"c'
". Теперь Ваш crypttab посмотрит что-то как
root /dev/disk/<blah blah> /dev/<usb>:/path/to/a+$/dev/<blah>:/path/to/c' keyscript=multifactor
то, что Вы на самом деле будете иметь для третьего поля, будет, конечно, зависеть от того, что Ваш keyscript готов принять
Идеально keyscript должен смочь решить, что ему нужен Ваш вход для дешифрования одного или нескольких ключей (например: c'
-> c
в этом случае), но можно использовать третье поле, чтобы указать что, как желаемый. В моем примере выше, я использовал продвижение $
указать на это.
Я не уверен, возможно ли сделать подсказку keyscript для входа, возможно на stderr, так как любой вывод на stdout взят в качестве пароля удач. Было бы хорошо, если бы была разумная нейтрализация.
Так или иначе, удача и счастливое взламывание :)