使用 systemd 服务启动时提示输入密码

Hen*_*ndy 16 arch-linux truecrypt systemd

这与 Arch Linux(可能还有其他使用 的发行版systemd)有关。我想在启动时挂载一个 TrueCrypt 分区。对于旧版本sysvinit,使用由rc.local.

我通过劫持Arch 论坛帖子来达到我的当前状态。在另一个线程中这个 systemd-devel 线程被称为“有解决方案”,但是我不清楚它实际上是什么,并且 OP 的最后一篇文章指出他无法实现他的目标。

从表面上看,此人正在这样做,但他正在寻找一种在键入密码时关闭连续启动消息的方法。我也在那里张贴,要求他张贴他的实际.service文件。

在相当多的搜索中,人们提到他们已经成功或有可能,但没有详细说明解决方案是什么。

我能够通过systemd服务从命令行解锁分区(这反过来使我能够在关闭/重新启动时自动卸载它),但我必须在登录后手动执行此操作。我我真的很喜欢启动过程暂停并询问我的密码。

这是我当前的脚本:

[Unit]
Description=Truecrypt Setup for vault
#DefaultDependencies=no
#Conflicts=umount.target
#Before=umount.target
#After=systemd-readahead-collect.service systemd-readahead-replay.service
#After=cryptsetup.target

[Service]
Type=oneshot
RemainAfterExit=yes
#StandardInput=tty-force
ExecStart=/bin/sh -c '/usr/bin/truecrypt -t --protect-hidden=no -k "" --filesystem=none --slot=1 -p `systemd-ask-password "Enter password for truecrypt volume: "` /dev/sda4'
ExecStop=/usr/bin/truecrypt --filesystem=none -d /dev/sda4

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

我将评论的内容留在了 中[Unit],因为在某些时候我遇到了它应该在那里的建议,但我遇到了问题。以上似乎在启动/登录后工作得很好......只是不在期间。

Kiw*_*iwy 0

我在 Unix StackExchange 上找到了这篇文章: rc.local with read will not echo key attempts
我想你可以尝试使用的解决方案