Рейтинг:0

mount.ecryptfs_private в .xsession, запущенном nodm/lightdm, жалуется на «mount: нет такого файла или каталога»

флаг mu

Я пытаюсь расшифровать Частный каталог внутри пользователя $ГЛАВНАЯ автоматически при запуске системы. Система представляет собой Debian GNU/Linux 10 (на самом деле это Raspbian, но я предполагаю, что в этом отношении она ничем не отличается), которая использует NoDM для запуска Xorg.

РЕДАКТИРОВАТЬ 1: Я попытался установить чистый Debian 11 с Nodm на виртуальной машине и столкнулся с точно такой же проблемой, описанной здесь ниже.

Nodm автоматически регистрирует непривилегированного пользователя и запускает $HOME/.xsession сценарий запуска.

У меня есть следующий скрипт, который вызывается .xsession:

#!/бин/баш -x
# Оригинал Майкла Хэлкроу, IBM
# Извлечено в отдельный сценарий Дастином Кирклэндом
# Отредактировано 28 октября 2021 г. Лучио Круска

экспорт PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ПД = "Частный"    
WPF="$HOME/.ecryptfs/обернутая парольная фраза"
MPSF="$HOME/.ecryptfs/$PD.sig"

если /sbin/mount.ecryptfs_private ; тогда
    выход 0
фи

если [ -f "$WPF" -a -f "$MPSF" ]; тогда
        если [ $(wc -l < ​​"$MPSF") = "1" ]; тогда
            если printf "%s\0" "$LP" | ecryptfs-unwrap-passphrase "$WPF" - | ecryptfs-добавить-пароль-; тогда
                эхо хорошо
            еще
                эхо неверный LP
                выход 1
            фи
        еще
            если printf "%s\0" "$LP" | ecryptfs-insert-insert-wrapped-passphrase-to-keyring "$WPF" - ; тогда
                эхо хорошо
            еще
                эхо неверный LP
                выход 1
            фи
        фи
    /sbin/mount.ecryptfs_private
еще
    Ошибка настройки эха
    выход 1
фи
выход 0

Это урезанная версия /usr/bin/ecryptfs-mount-private. Он выполняет те же самые команды, но ожидает, что переменная среды LP будет содержать фразу-пароль, а не запрашивать фразу-пароль в интерактивном режиме.

Я сохранил этот скрипт как $HOME/el-mount.sh. Когда моя система загружается и запускается NoDM, он выполняет .xsession, который, в свою очередь, вызывает мой скрипт, перенаправляя стандартный вывод и стдерр в файл журнала для отладки. Дело не в том, что выводит это:

...
+ /sbin/mount.ecryptfs_private
mount: Нет такого файла или каталога

Однако, если я подключаюсь к системе через ssh и запустить так же Эль-маунт.ш script, зайдя под тем же пользователем настроенным в NoDM, скрипт работает без нареканий. На всякий случай, если вам интересно, переменная LP установлена ​​правильно в обоих случаях (уже проверено в лог-файле).

Я уже пытался переключиться с NoDM на lightdm-autologin-greeter, но результат тот же.

Как мне сделать mount.ecryptfs_private работать при вызове во время автологина?

Рейтинг:0
флаг mu

Я наконец-то разобрался. Проблема в Ошибка Debian 870126 это все еще открыто. Пока кто-то не исправит это, вам придется обойти это, вручную добавив:

 необязательный сеанс pam_keyinit.so принудительно отозвать

к /etc/pam.d/nodm (или другой Пэм файл конфигурации, в зависимости от вашего диспетчера дисплея).

Ответить или комментировать

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