rssbot
rssbot copied to clipboard
后台运行的正确姿势
关于 #45 提到的 root 权限, 分享一个使用普通用户的 systemd file 和相关配置
- 新建用户
tg-bot并禁止登录
useradd tg-bot -s /usr/sbin/nologin
- 为用户
tg-bot建立用于放置rssbot.json的文件夹,
sudo mkdir /var/lib/tg-bots-data
sudo chown tg-bot:tg-bot /var/lib/tg-bots-data
- 编辑
/etc/systemd/system/rssbot.service, 写入
[Unit]
Description = RSS Bot for Telegram
Documentation = https://github.com/iovxw/rssbot
After = network.target
Wants = network-online.target
[Service]
# 对于 systemd 版本 240 及以上, 取消注释 `Type=exec`, 注释掉 `Type=simple`
# Type=exec
Type = simple
User = tg-bot
Group = tg-bot
NoNewPrivileges = yes
ExecStart = /path/to/rssbot -d /var/lib/tg-bots-data/rssbot.json <token>
[Install]
WantedBy = multi-user.target
/path/to/rssbot改成自己的可执行文件路径,<token>改成自己的 token.
- 启动
sudo systemctl daemon-reload
sudo systemctl start rssbot.service
sudo systemctl enable rssbot.service
systemctl status rssbot.service
- 这样就可以以最小权限运行 rssbot, 使用
ps -ef | grep rssbot查看:
tg-bot 28290 1 0 06:47 ? 00:00:57 /path/to/rssbot -d /var/lib/tg-bots-data/rssbot.json <token>
当然直接用 root 也可以...不过跑自己服务器上的东西还是想尽量简单嘛