[make-initrd] Add smart-card feature

Михалицын Петр pmikhalicin at rutoken.ru
Wed Jul 7 15:16:36 MSK 2021


Всем привет.

Добавил фичу для работы со смарт-картами. Если интересно, то MR с изменениями можно посмотреть здесь https://github.com/osboot/make-initrd/pull/7

В процессе работы столкнулся с тем, что plymouth не умеет корректно передавать аргументы, содержащие пробелы: он разделяет их. В связи с этим предложил написать враппер, который будет передавать эти аргументы через аргументы командной строки:

#!/bin/bash

while [[ "$1" == "--"* ]]; do
        case "$1" in
                "--add-new-line")
                        PLYMOUTH_COMMAND_WRAPPER_ADD_NEW_LINE="\n"
                ;;
        esac

        shift
done

echo -n -e "$(cat -)${PLYMOUTH_COMMAND_WRAPPER_ADD_NEW_LINE}" | eval "$@"

использовать бы эту штуку можно было примерно вот так:
label="luks key"\
path=”/some/path /to/smth”\
plymouth ask-for-password\
    --prompt "Please enter passphrase for smart card:"\
    --number-of-tries=3\
    --command="plymouth-command-wrapper --add-new-line pkcs11-tool --module librtpkcs11ecp.so --application-label \"\$label\" --type data -l -r -o \"\$path\""


Но на практике эту обертку использовать не стали. Если у кого-то возникнет потребность решить проблемы Plymouth в какой-то другой фиче, то можно взять этот скрипт на заметку.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.altlinux.org/pipermail/make-initrd/attachments/20210707/3b8376eb/attachment-0001.html>


More information about the Make-initrd mailing list