vasek
Статьи на эту тему имеются - если есть желание можешь попробовать.
у меня авторизация в системе по отпечатку пальца. На биос и на syslinux, если я правильно понимаю, все равно пароль руками вводить надо. На шифрованный хомяк примерно что то сделал, но хочется лучше

jim945
Про что я раньше говорил.
Попробуй на флешке выделить место под маленький раздел. Например sdg2
dd if=ключ of=/dev/sdg2
Соответственно /dev/sdg2 - путь до ключа. Если сработает, то модуль для картридера загружен. тогда и копать в сторону монтирования.
или я что то не так делал или ecryptfs не позволяет читать файлы из /dev. В смысле он их из консоли восстановления даже прочитать не может (сам файл есть и прекрасно читается катом). crypttab, если я правильно понимаю, для ecryptfs не подходит. Хотя, это повод сменить систему шифрования.
PGP 0x31361F01
arcanisrepo
jim945
Я имел ввиду раздел на флешке.
проблема - если я правильно понимаю - в том, что система не успевает загрузить модуль для картридера до монтирования.
===
Немного букаф:
journalctl -k | ix
$ lspci -s 02:00 -k
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5227 PCI Express Card Reader (rev 01)
        Subsystem: Lenovo Device 220c
        Kernel driver in use: rtsx_pci
        Kernel modules: rtsx_pci
$ lsmod | grep rtsx
rtsx_pci_sdmmc         21217  0
rtsx_pci_ms            16898  0
mmc_core              110434  2 mmc_block,rtsx_pci_sdmmc
memstick               13696  1 rtsx_pci_ms
rtsx_pci               41951  2 rtsx_pci_ms,rtsx_pci_sdmmc
$ grep -i ^modules /etc/mkinitcpio.conf
MODULES="i915 rtsx_pci rtsx_pci_ms rtsx_pci_sdmmc mmc_core memstick"
Текущее решение:
$ cat /etc/systemd/system/home-arcanis.mount
[Unit]
Before=local-fs.target
After=mnt-key.mount

[Mount]
What=/home/arcanis
Where=/home/arcanis
Type=ecryptfs
Options=rw,nosuid,nodev,relatime,key=passphrase:passphrase_passwd_file=/mnt/key/t440-home,no_sig_cache,ecryptfs_fnek_sig=xxx,ecryptfs_sig=xxx,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n,ecryptfs_unlink_sigs

[Install]
WantedBy=local-fs.target
$ cat /etc/systemd/system/umount-key.service
[Unit]
Description=Unmount key card
Before=local-fs.target
After=home-arcanis.mount

[Service]
ExecStart=/usr/bin/umount /mnt/key

[Install]
WantedBy=local-fs.target
$ cat /etc/fstab
#
# /etc/fstab: static file system information
#
# <file system> <dir>   <type>  <options>       <dump>  <pass>

UUID=cd2e3630-94d8-4199-86ab-a931d7c2af37    /mnt/key ext2     ro,defaults                            0 0
UUID=a7f337d5-aede-427d-a36f-8fde7ef8905b    /        ext4     defaults,discard,noatime,nodiratime    0 1
UUID=0a45feb2-b104-4bf4-9585-5a0968f09ff7    /boot    ext2     defaults                               0 2
UUID=68bf91fb-4021-4a67-81eb-7fa817fc26ef    /home    ext4     defaults,discard,noatime,nodiratime    0 2
UUID=11eedbf9-7ef1-4e34-8a9e-e24b9bec749c    swap     swap     defaults
#/home/arcanis                           /home/arcanis ecryptfs rw,nosuid,nodev,relatime,key=passphrase:passphrase_passwd_file=/mnt/key/t440-home,no_sig_cache,ecryptfs_fnek_sig=xxx,ecryptfs_sig=xxx,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n,ecryptfs_unlink_sigs 0 0
PGP 0x31361F01
arcanisrepo
прогоните, увидите каких файлов не хватает
pacman -Qkq
PGP 0x31361F01
arcanisrepo
если хранить ключ на том же компе, где происходит шифрование, то непонятно зачем тогда вообще что то шифровать =)
PGP 0x31361F01
arcanisrepo
Привет,

В общем мне надоело вводить ключ на каждой загрузке для монтирования хомяка (зашифрован весь хомяк) и я решил вынести ключ на флешку (sd card). Столкнулся с такой проблемой: при монтировании через fstab флешка монтируется позже, чем доходит дело до хомяка (хотя флешка на первой строке, а хомяк на последней), что приводит к фейлу. Потом нужно нажать ctrl+d и продолжить загрузку.

В интернете самое распространенное решение - это костыль в виде опции nofail + mount -a по завершению загрузки (через rc.local). Такое решение меня не устраивает в виду его костыльности. Аналогичный вариант - оставить запись с опцией noauto и монтировать через тот же rc.local
Пробовал добавлять модуль sd картридера в mkinitcpio - это также не дало результата.
Текущая реализация - вынес строку из fstab и монтирую посредством systemd, жестко указав зависимость от юнита mnt-key.mount. Не нравится жесткой зависимостью от systemd и тем, что часть системы монтируется через fstab, а часть - через s-d

IMO самое оптимальное - было бы заставить монтироваться флешку на раннем периоде загрузки. Можно ли этого как то достичь? Или мб существуют другие некостыльные методы?
PGP 0x31361F01
arcanisrepo
последнее (баг репорт) самое нормальное. Сирот собирает свободный (за рядом исключений) - такова политика партии
PGP 0x31361F01
arcanisrepo
а вообще интересно.

1. Крашиться не должно. Но я добавил еще тройку проверок на всякий.
2. В вашем случае он должен не дать работать с netctl-auto с дефолтными настройками - т.к. библиотека не сможет найти нужный интерфейс и должна выдать false еще на этапе запроса isNetctlAutoRunning(). Другое дело - если вы сами специально его зададите %)
PGP 0x31361F01
arcanisrepo
ghost
netctl-auto list ничего не показывает. Но у меня нет wifi адаптеров. Хотя один профиль есть eth_dhcp... (я так понимаю netctl-auto - это для wifi сетей автопереключатель профилей, по этому меня не смущает пустой list).
да, он только для вафли. Ну тогда, про$#ал проверку на пустой список где то, судя по всему, извиняюсь. Исправлю в ближайшее время.

Группа network нужна вроде только для запуска (на старте приложения или виджета) - если вы не стартуете хелпер средствами systemd на загрузке.
PGP 0x31361F01
arcanisrepo
ghost
Хоть в двух словах, а что я должен получить?
видимо ответ где то в этом месте =)
Показывает выхлоп netctl-auto list (именно такая команда используется для анализа работы netctl-auto), а затем подгружает профили (если в них есть ошибка, то тоже возможен сегфолт) и показывает список ИМЯ - ОПИСАНИЕ для каждого профиля.

У вас же netctl-auto говорит, что не видит ни одного рабочего профиля. Или прав нет - хотя, когда я проверял мб, вроде прав не надо было дополнительных на доступ к нему. Если второе - то могу выкатить хотфикс. Сам сегфолт тоже исправлю. Вот тикет.

///
Кстати, я тут вспомнил. А у вас юзер в группе network стоит? Я вроде фиксил охапку сегфолтов на эту тему, мб еще где то остались. На эту тему есть вот такая статья. Конкретные команды где то тут
PGP 0x31361F01
arcanisrepo
ну тогда еще пожалуйста до кучи покажите такое:
netctl-auto list && bash -c 'for ITEM in $(netctl-auto list | cut -c 2-); do unset Description && source /etc/netctl/"$ITEM" && echo "$ITEM | $Description"; done'
PGP 0x31361F01
arcanisrepo