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或者有用的日志片段,以在此处添加到问题中。