代码之家  ›  专栏  ›  技术社区  ›  Max Maximus

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

  •  2
  • Max Maximus  · 技术社区  · 18 年前

    在我的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
    

    更新: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 回复  |  直到 17 年前
        1
  •  1
  •   Martin OConnor    18 年前

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

        2
  •  1
  •   ADEpt    18 年前

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

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

    (与“ltrace”的参数相同)。检查日志以找出哪个syscall触发“权限被拒绝”。也许它会给你一个更多的关键字,以饲料谷歌或有用的日志片段添加到您的问题在这里。

        3
  •  0
  •   Ryaner    14 年前

    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
    
        4
  •  0
  •   isam amin    13 年前

    我不确定这是否对你有帮助,但我得先检查一下。。。。 我发现-在许多情况下,系统管理员禁用了对这些东西的访问

    希望这有帮助

    推荐文章