В итоге я подписался на http://www.elinux.org/RPi_Bluetooth_LE , и все работало нормально. Спасибо за всю твою помощь!
Кроме того, я считаю, что моя проблема заключалась в том, что bluez
не установил двоичный файл с именем bluez
, он установил другие инструменты.
Альтернативным решением было бы отредактировать файл sudoers
, чтобы добавить разрешения для рассматриваемого пользователя на запуск /usr/lib/systemd/systemd-cryptsetup
с правами суперпользователя и включенной опцией NOPASSWD.
Затем вы должны отредактировать свой (специфичный для пользователя) служебный файл выше, чтобы он читался следующим образом:
ExecStart=/usr/bin/sudo /usr/lib/systemd/systemd-cryptsetup attach '%I.luks' '/dev/mapper/%I' '%h/%I/secret.key' 'luks,header=%h/%I/header'
ExecStop=/usr/bin/sudo /usr/lib/systemd/systemd-cryptsetup detach '%I.luks'
Я не уверен, нужно ли вам также включать !requiretty, чтобы это работало
Чтобы повысить безопасность, особенно для многопользовательской системы, я настоятельно рекомендую создать пару сценариев для выполнения шагов «присоединить» и «отсоединить» от имени пользователя, а не предоставлять доступ sudo к /usr/lib/systemd/systemd-cryptsetup
напрямую, так как в противном случае любой пользователь, которому предоставлен доступ для запуска этой команды, потенциально может помешать другим зашифрованным томам.
Я бы предложил создать и включить службуType=oneshot
RemainAfterExit=yes
для пользователя, которая создает файл с помощью директивы ExecStart
и удаляет его с помощью директивы ExecStop
, например.
ExecStart="/usr/bin/touch %h/.decrypt"
ExecStop="/usr/bin/rm %h/.decrypt"
Затем вы можете создать и активировать файл модуля luks@xxx.path
для системного пользователя с абсолютным путем:
PathExists="/home/user/.decrypt"
Это будет проверять путь, созданный вышеописанной пользовательской службой, активировать luks@xxx.service
модуль при его создании и деактивировать его при его удалении, тем самым устанавливая косвенную зависимость системной службы от пользовательской службы.
Обратите внимание, что для безопасной работы каталог, в котором создается файл, конечно, должен быть доступен для записи только пользователю.