tty1的"权限被拒绝"的原因可能是什么?

时间:2020-03-06 14:29:05  来源:igfitidea点击:

在我的VPS服务器(Fedora 9)上,由于tty [1-6]上的"权限被拒绝"错误,mingetty不断重生,即使:

root# ls -la /dev/tty1
crw------- 1 root root 4, 1 Sep 19 14:22 /dev/tty1

甚至更奇怪,这也不起作用:

root# cat </dev/tty1
bash: /dev/tty1: Permission denied

我猜想这与VM主机有关,但是我和我的VPS提供者都没有主意,Google也是如此。关于root为什么无法使用root rw特权访问字符设备的任何线索?

更新:我已经确保SELinux已被禁用。然而,问题仍然存在。

更新:strace转储:

32399 rt_sigaction(SIGTSTP, {SIG_DFL}, {SIG_DFL}, 8) = 0
32399 rt_sigaction(SIGTTIN, {SIG_DFL}, {SIG_IGN}, 8) = 0
32399 rt_sigaction(SIGTTOU, {SIG_DFL}, {SIG_IGN}, 8) = 0
32399 rt_sigaction(SIGINT, {SIG_IGN}, {SIG_IGN}, 8) = 0
32399 rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_IGN}, 8) = 0
32399 rt_sigaction(SIGCHLD, {SIG_DFL}, {0x807b990, [], SA_RESTORER, 0xb7e7b708}, 8) = 0
32399 open("/dev/tty1", O_RDONLY|O_LARGEFILE) = -1 EACCES (Permission denied)
32399 open("/dev/tty1", O_RDONLY|O_LARGEFILE) = -1 EACCES (Permission denied)
32399 fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
32399 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fe1000
32399 write(2, "bash: /dev/tty1: Permission deni"..., 35) = 35

不能说这对我来说很有意义...

解决方案

我怀疑SELinux可能是问题所在。尝试暂时禁用它,看看它是否有效。

我没有确切的答案,但我有个建议。

使用ltrace和strace可以大致了解"幕后"使用的内容:

strace -f -o LOG bash -c 'cat < /dev/tty1'

(与" ltrace"相同的args)。检查日志以找出哪个系统调用触发了"拒绝权限"。也许它将为我们提供一个关键词来供稿给Google或者有用的日志片段,以在此处添加到问题中。