出于某种原因,我不能使用普通用户的命令
$ 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