我在 ubuntu 服务器上配置了 logwatch,以在 /tmp/logwatch.html 中创建 html 文件
我还安装了 sendEmail smpt 发送器。
我试图像这样使用 sendEmail:
sendEmail -v -f [email protected] -s smtp.gmail.com:587 -xu username -xp xxxpassword -t mymail -o tls=yes -u Security Audit -m logwatch Reports -a /tmp/logwatch.html
它给我错误无法找到文件,显然是因为 logwatch.html 是用 600 权限创建的。
如果我使用 sudo 执行此操作,它就可以工作并且我可以正确收到邮件。
问题是我需要创建 bash 脚本并按 cron 执行它。
bash 中的 sudo 不起作用,对吧?如果你处在我的位置,你会怎么做?我更喜欢一个简单的解决方案。
- 让logwatch写入文件并设置权限666。但我找不到这个选项。
- 在 bash 文件中写入 sudo,但是如何传递密码?
- 还要别的吗?
答案1
要以 root 身份执行 cron 作业,您不需要在sudo
每次运行脚本时都使用它。
只需将其添加到 root 的 crontab 中:
sudo crontab -e