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

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

我不知道如何正确设置权限。 当然,为了测试我可以sudo运行脚本。 但是当cron作业或systemd运行脚本时会发生什么? 他们(他们= cron或systemd)是否拥有su权利?

不幸的是,我不熟悉Linux中的权限,所以我不知道是否必须将脚本chown给特殊用户(可能是sys ???)或者“正确”的方式。 感谢每一个帮助,欢呼Stefan

系统用户和cron

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

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

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

备份工具

虽然编写自己的备份shell脚本很有趣,但迟早会变得难以管理所有角落案例。 因此,如果您厌倦了编写shell脚本,请查看bacula 。 设置肯定是更多的工作,但它提供了更多的function,然后自编写脚本。