将用户名传递给以 root 身份运行的 systemd 单元

将用户名传递给以 root 身份运行的 systemd 单元

我正在尝试编写我的第一个 systemd 单元。我想根据登录时的用户名动态挂载某些位置,例如 /mnt/$USER/folder,而不是通过 fstab。我无法通过 systemd 将 $USER 或 $LOGNAME 发送到脚本,因为需要 root 用户才能发出挂载命令,因此这些命令始终扩展为“root”。

我尝试过 Environment=、EnvironmentFile=,在 ExecStart 中传递 $USER,而不是在调用的脚本中传递,它们都传递的是“$USER”,而不是实际的用户名。如果我以用户身份运行服务,则挂载会失败,因为用户不是 root。

我希望不要为了这一项任务重新配置整个系统。

有什么建议么?

相关内容