Cron 以用户身份创建 crontab,而不是以 root 身份

Cron 以用户身份创建 crontab,而不是以 root 身份

在 Ubuntu 上,我想设置 cron 任务来从我的应用程序发送电子邮件。我认为我应该以用户身份运行这个 crontab,而不是以 root 身份。我对吗?但我无法进入 crontabs 目录。我的许可被拒绝。

user1@srv:/var/spool/cron$ cd crontabs
-bash: cd: crontabs: Permission denied
user1@srv:/var/spool/cron$ ls -al
total 12
drwxr-xr-x 3 root root    4096 Nov 26  2016 .
drwxr-xr-x 6 root root    4096 Nov 26  2016 ..
drwx-wx--T 2 root crontab 4096 Feb 17 19:01 crontabs

当我以 user1 身份调用命令 crontab -e 时,它​​已写入 tmp 文件夹中。那么我应该以 user1 身份运行这个任务吗?如果我应该这样做,该怎么做?

答案1

您没有告诉我们您想要放入 crontab 中的确切命令,因此很难确定它是否应该放在用户的 crontab 中。

Permission denied是期待。完全不用担心。

一般来说,crontab -e以非特权用户身份运行就可以了。该工具可让您编辑临时副本并且(在保存它而不更改其临时名称或路径后)将其安全地安装在正确的目录中。该工具持有setgid旗帜并属于该组crontab。这样它就可以访问你不能直接访问的目录了。

相关内容