linux - Cron 作业无法执行非 root 脚本

标签 linux shell cron

我有一个脚本说:

[operations@dojo 2018-02-23--18-10-53 ~ $] ls -l cc_snapshot.sh
-rwxr-xr-x 1 operations users 6006 Feb 23 15:02 cc_snapshot.sh

/etc/cron.allow

operations

crontab -l

*/3 * * * * operations /home/operations/cc_snapshot.sh arg1 arg2 >> /var/log/cc_snapshot.log

但是/var/log/cc_snapshot.log 中没有打印任何内容。 如果我从 cron 中删除操作用户,我会在/var/log/cc_snapshot.log 中看到错误,因为该脚本不应以 root 用户身份执行。

关于我在这里可能出错的地方有什么建议吗?

最佳答案

显然是文件权限问题。 rootUnix环境中的 super 用户,它可以执行该系统中的任何脚本。因此,第二条错误消息来自您的脚本,而不是来自 shell。您的脚本不希望它由 root 运行。检查用户帐户是否具有对文件位置的适当访问权限以及执行脚本的适当权限。这些是 Unix 环境中非常常见的问题。另请检查您的用户 ID 是否已添加到正确的组中。

关于linux - Cron 作业无法执行非 root 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48957567/

相关文章:

linux - 如何部署Docker镜像来对本地环境进行更改?

linux - 需要帮助编写 bash 脚本,如何将 pw 作为参数并自动输入

linux - 在 cygwin 下运行 Cronjob

git - BitBucket 使用 Cron Job 自动 pull

linux - 制作一个usb视频采集卡驱动程序

linux - AWK 计数 - 奇怪的行为

Xcode 和 Git 在 MacOSX Mountain Lion 上的安装

file - 如何打印分隔类型文件中特定行的特定字段

java - quartz 作业运行

linux - 为什么在 bash 中使用显式解释器不使用路径变量