为什么重启 AIX 后无法读取 /dev/console

为什么重启 AIX 后无法读取 /dev/console

< /dev/console在后台 cron 作业中运行 Micro-Focus cobol 程序时使用,而不是< /dev/null因为这样我们就不会收到有关输入文件不支持 ioctl 的警告。有关输入文件不支持的警告ioctl意味着脚本无法区分此错误和真正的错误,因为程序返回相同的值。

通常(在许多不同的 AIX 服务器上)我将这些作业设置为以 root 身份运行,因为其他用户没有读取/dev/console.

几年来,我遇到了一些我不明白的问题,并且在互联网上搜索了很多小时也没有帮助。例如

  1. 服务器无明显原因从只有 root 用户可以使用更改< /dev/console为只有非 root 用户可以使用< /dev/console

  2. 非 root 用户可以使用的服务器< /dev/console在重新启动后更改为只有 root 可以使用< /dev/console

第二个例子是我最近的案例。 lscons显示控制台已分配到/dev/tty0,您可以正常登录/dev/tty0。我认为没有人在重新启动之前使用swconschcons重新分配控制台。

我尝试更改/dev/console& /dev/tty0to 的权限666,但仍然只有 root 可以执行,没有错误:

echo TEST < /dev/console

有谁了解正在发生的事情或知道如何更改它以便非 root 用户可以阅读/dev/console

对于另一个支持ioctl非 root 用户并可以用作虚拟标准输入的设备有什么建议吗?

(我怀疑 cobol 程序只打开标准输入,但在后台时实际上并没有读取它)。

现在的权限:
crw-rw-rw- 1 root system 4, 0 Aug 20 1999 /dev/console
crw-rw-rw- 1 root system 16, 0 Aug 09 13:39 /dev/tty0

在我这样做之前:chmod 666:
crw--w--w- 1 root system 4, 0 Aug 20 1999 /dev/console
crw-------- 1 root system 16, 0 Aug 09 13:39 /dev/tty0

相关内容