【发布时间】:2020-09-28 16:01:46
【问题描述】:
我想创建系统服务,它(对于每个用户)将在用户登录后立即启动,并在用户的 $HOME 中使用 root 权限执行一些工作。
这里是示例服务:
[Unit]
Description= My User service
After=dbus.service
[Service]
StandardError=journal
ExecStart=/bin/sh -c "cp -r $HOME/.config /root/backup/$USER/$(date)/" #<- just a sample root task
[Install]
WantedBy=default.target
但是 $HOME 或 $USER 变量不可用。如何访问它们?
【问题讨论】:
-
您可以在单元文件的 [Service] 部分中指定指令 User= 和 Group=。
-
但这有什么帮助呢?
-
你试过了吗?你有 $HOME 和 $USER 吗?
-
for system(without --user) service $USER 总是 root 除非它没有在 User= 中静态设置
-
你的意思是你试过
User=,但是$USER仍然不可用?
标签: linux service systemd systemctl