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,然后自编写脚本。