![如何才能以普通用户身份运行 cryptdisks_start?](https://linux22.com/image/176642/%E5%A6%82%E4%BD%95%E6%89%8D%E8%83%BD%E4%BB%A5%E6%99%AE%E9%80%9A%E7%94%A8%E6%88%B7%E8%BA%AB%E4%BB%BD%E8%BF%90%E8%A1%8C%20cryptdisks_start%EF%BC%9F.png)
我已经研究了如何能够在crypttab
节中注入(指 LUKS 设备)以允许一个具体的用户或任何无特权的用户来映射它。粗略地说,我正在寻找映射 LUKS 设备时(即在安装之前)的user
安装选项中的等效项。/etc/fstab
到目前为止,我提出的唯一(半明智的)方法是让我的非特权用户运行一个包装器脚本,该脚本cryptdisks_start
使用其绝对路径运行root
,无需密码,但名称硬编码在其中。显然,脚本权限使得非特权用户无法篡改它。
有没有更直接的解决方案,也许类似于user
in fstab
?
这是在 Ubuntu 20.04 上,所以也许 systemd 提供了一些方法来实现这一点?毕竟有一个单位,例如systemd-cryptsetup@<name>.service
它根据 中的条目自动生成的单位crypttab
。
附带说明:我知道 pam_exec,但我目前正在思考哪一个更适合我。无论哪种方式,如果没有超级用户权限,似乎都无法运行它。
答案1
据我所知,SystemD 中没有类似的东西。
你可以使用
sudo
udisksctl unlock
为某些用户或组提供 PolKit 配置