由于某种原因,我无法以普通用户的身份使用命令
$ at
You do not have permission to use at.
我检查了我的 /etc/at.deny,那里没有我的用户。没有 /etc/at.allow。我尝试重新启动 atd,但没有用。
有任何想法吗?
提前致谢。
答案1
跑步
$ strace at
setreuid32(1000, 1000) = 0
setregid32(1000, 1000) = 0
open("/etc/at.allow", O_RDONLY) = -1 ENOENT (No such file or directory)
setregid32(1000, 1000) = 0
setreuid32(1000, 1000) = 0
setreuid32(1000, 1000) = 0
setregid32(1000, 1000) = 0
open("/etc/at.deny", O_RDONLY) = -1 EACCES (Permission denied)
setregid32(1000, 1000) = 0
setreuid32(1000, 1000) = 0
write(2, "You do not have permission to us"..., 38You do not have permission to use at.
) = 38
exit_group(1) = ?
可以告诉你原因。
答案2
存在吗/etc/at.allow
?如果存在,则任何未明确列出的用户都无法运行at
。
答案3
好的,到目前为止我已经找到了一个简单的解决方案。
sudo aptitude purge at
sudo aptitude install ubuntu-standard
注意:删除时在包裹,Ubuntu 标准也被删除,因为它需要 at。因此安装Ubuntu 标准再次导致在安装太
更新: 我无意中在其他机器上重现了这个问题。结果发现真正的问题出在 /etc/at.deny permissons!atd 无法读取该文件。
答案4
/var/spool/cron 下的权限是什么?在我的 8.04 系统上,权限如下:
drwxrwx--T 2 daemon daemon 4096 Feb 18 08:36 atjobs
drwxrwx--T 2 daemon daemon 4096 Feb 20 2007 atspool