如何在用户登录期间安装文件系统?

如何在用户登录期间安装文件系统?

我想要一个基于文件的文件系统(~/Archives/inventory.locker)在用户登录时安装并在注销时卸载(~/Documents/Inventory)。

pam_mount似乎提供了我想要的功能,但它有不相容于pam_systemd

我尝试编写一个基于用户的systemd.mount单元,但失败了:

mount: only root can do that

即使我定义了“用户”安装选项并且可以手动以用户身份成功安装。

systemd方法似乎很理想,因为它不需要其他依赖项,并且也是每个用户进程而不是每个登录会话。

我也愿意接受替代解决方案。

答案1

这里迟到了。这可能有点违反直觉,但我使用服务(而不是挂载)systemd 用户单元,它对我有用。我必须 在条目中添加user和选项。noauto/etc/fstab

cat ~/.config/systemd/user/[email protected]
[Unit]
Requires=home-me.mount
After=home-me.mount

[Service]
ExecStart=/bin/mount %h/%I
ExecStop=/bin/umount %h/%I
RemainAfterExit=yes

[Install]
WantedBy=default.target

您应该使用以下命令启用单元实例:

systemctl --user enable mount@some-directory

有关文件名中的帮助@,可以阅读有关systemd 实例化单元

相关内容