Ubuntu 8.04服务器:不能调用

出于某种原因,我不能使用普通用户的命令

$ at You do not have permission to use at. 

我检查了/etc/at.deny,没有我的用户在那里。 没有/etc/at.allow。 我试图重新启动atd,但它没有帮助。

有任何想法吗?

提前致谢。

赛跑

 $ 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) = ? 

可以告诉你原因。

/etc/at.allow是否存在? 如果是这样,任何没有明确列在其中的用户将被禁止运行。

好的,在这里我find了一个简单的解决scheme。

 sudo aptitude purge at sudo aptitude install ubuntu-standard 

注意:当你包上删除的时候ubuntu-standard也会被删除。 所以再次安装ubuntu-standard也会导致安装

Upd:我在其他机器上(无意中)复制了这个问题。 原来,真正的问题是在/etc/at.deny权限! atd无法读取文件。

/ 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