shell脚本的权限:如何写入/var

shell脚本的权限:如何写入/var

我正在编写一个备份脚本。脚本位于/usr/local/backup-scripts 文件应存储到/var/backup/subdirectory 我想使用 cron 作业或 systemd-timer 运行该脚本。

我不知道如何正确设置权限。当然,为了测试,我可以使用 sudo 运行脚本。但是当 cron 作业或 systemd 运行脚本时会怎样?它们(它们=cron 或 systemd)有 su 权限吗?

不幸的是,我不太熟悉 Linux 中的权限,所以我不知道是否必须将脚本的权限分配给特殊用户(可能是 sys???)或“正确”的方法是什么。感谢大家的帮助,谢谢 Stefan

答案1

系统用户和 cron

一种简单而安全的方法是创建一个备份用户系统用户(没有主文件夹)。然后授予备份用户备份位置的权限:

$ adduser --system --no-create-home backup-user
$ chown -R backup-user /var/backup/subdirectory

你还需要指定用户在 cron 作业中。

备份工具

虽然编写自己的备份 shell 脚本一时很有趣,但迟早会变得难以管理所有极端情况。因此,如果你厌倦了编写 shell 脚本,请查看巴库拉。设置起来肯定需要做更多工作,但它提供的功能比自写脚本更多。

相关内容