什么可能是tty1“被拒绝”的原因?

时间:2008-09-20 14:09:09

标签: linux vps

在我的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提供商都没有想法,谷歌也是如此...任何关于为什么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

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

4 个答案:

答案 0 :(得分:1)

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

使用ltrace和strace来了解“引擎盖下”使用的内容,如下所示:

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

(“ltrace”相同的args)。检查LOG以找出哪个系统调用触发“权限被拒绝”。也许它会为您提供一个关键字,以便将谷歌或有用的日志片段添加到您的问题中。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

进入/ etc / inittab并注释掉以下行(或其他类似行)。您可能需要重新启动才能停止重新生成

c1:12345:respawn:/sbin/agetty 38400 tty1 linux
c2:2345:respawn:/sbin/agetty 38400 tty2 linux
c3:2345:respawn:/sbin/agetty 38400 tty3 linux
c4:2345:respawn:/sbin/agetty 38400 tty4 linux
c5:2345:respawn:/sbin/agetty 38400 tty5 linux
c6:2345:respawn:/sbin/agetty 38400 tty6 linux

答案 3 :(得分:0)

我不确定这对你有帮助,但必须先检查...... 我发现 - 在很多情况下,系统管理员禁止访问这些东西 所以试着查找这个文件:/etc/security/access.conf,找到“# - :ALL除了root:tty1”这一行。如果这条行有效(首先表示没有#)将禁止非root登录在tty1 但请注意不要变通 - 最好与系统管理员联系。

希望这个帮助