at 命令给出输出错误

at 命令给出输出错误

在 Ubuntu 18 上运行 at 命令时,我注意到我可以以 root 身份运行它,但不能以 root 身份运行它,从而导致输出错误,如下所示:

root@myserver3:~/# at now
warning: commands will be executed using /bin/sh
at> /bin/echo "this is root" > /tmp/at.out.txt
at> <EOT>
job 3 at Thu Jun  4 19:15:00 2020
root@myserver3:~/# cat /tmp/at.out.txt
this is root
root@myserver3:~/# exit
exit
rich@myserver3:~/$ at now
warning: commands will be executed using /bin/sh
at> /bin/echo "This is me" > /tmp/at.out.me.txt
at> <EOT>
at: Output error
rich@myserver3:~/$ cat /tmp/at.out.me.txt
cat: /tmp/at.out.me.txt: No such file or directory

我已经重新安装,并检查了 /var/spool/cron 的文件权限:

drwx-wx--T 2 root   crontab 4.0K Jun  4 19:06 crontabs
drwxr-xr-x 5 root   root    4.0K Jun  5 15:27 .
drwxrwx--T 2 daemon daemon  4.0K Jun  5 15:28 atspool
drwxrwx--T 2 daemon daemon  4.0K Jun  5 15:28 atjob

我检查了 /etc/at.deny 和 /etc/at.allow。它们看起来与此命令正常工作的服务器上的相同。

为确保万无一失,我删除了 /etc/at.allow /etc/at.deny,然后删除了 /var/spool/cron/atjobs 和 /var/spool/cron/atspool。然后我使用 apt-get install --reinstall at 重新安装。文件返回并具有与我工作服务器上相同的权限/内容。

(哈哈)不知道这里出了什么问题。

# ls -alhrt /usr/bin/at
-rwsr-sr-x 1 daemon daemon 51K Jan 14  2016 /usr/bin/at

相关内容