无法在 Ubuntu 22.04 上使用命令

无法在 Ubuntu 22.04 上使用命令

在相对较新的 Ubuntu 22.04 实例上,我安装于:

sudo apt update
sudo apt install at

现在,当我尝试以一般用户身份使用它时,我收到错误消息:“您无权使用”

我发现本文,与错误消息完全匹配,但引用了不存在的 /etc/at.allow。文件 /etc/at.deny 确实存在,但其中没有此用户 (dennis) 的名字。

在调试中,我尝试添加一个文件 /etc/at.allow,其内容中仅包含所需的用户名,如下所示,错误发生了变化:

> sudo su -
# echo 'dennis' > /etc/at.allow
# chmod a+r /etc/at.allow
# atd restart
# exit
> at now
warning: commands will be executed using /bin/sh
Cannot open lockfile /var/spool/cron/atjobs/.SEQ: Permission denied

我找到了这个权限问题的答案在 StackOverflow 上也就是说,该 .SEQ 文件的权限应为 777。我怀疑这是否正确(而可能是解决某些无法理解的问题的一种蛮力方法),但我确实尝试了,结果如下:

> sudo chmod 777 /var/spool/cron/atjobs/.SEQ
> echo 'ls' | at now
warning: commands will be executed using /bin/sh
job 5 at Wed May 24 21:05:00 2023
Can't signal atd (permission denied)

我还能尝试什么来让它工作?或者我应该提供哪些日志?

答案1

这是由于 aptitude 未执行其安装后工作(“处理触发器”),原因是某些软件包(尤其是与手刹相关的软件包)被保留。一旦我删除了“保留”(且不需要)的软件包,我就会删除并重新安装:

sudo apt purge at
sudo apt install at

这解决了问题。

相关内容