Каковы могут быть причины отказа в разрешении для tty1? - PullRequest
2 голосов
/ 20 сентября 2008

На моем VPS-сервере (Fedora 9) mingetty продолжает возрождаться из-за ошибки «отказано в разрешении» на tty [1-6], даже если:

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 отключен; Тем не менее, проблема все еще существует ...

Обновление: сброс дампа:

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 ]

1 голос
/ 05 октября 2008

У меня нет точного ответа, но у меня есть предложение.

Используйте ltrace и strace, чтобы получить представление о том, что используется «под капотом», как это:

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

(те же самые аргументы для "ltrace"). Изучите журнал LOG, чтобы выяснить, какой системный вызов вызывает «отказано в разрешении». Может быть, это даст вам еще одно ключевое слово для подачи в Google или полезный фрагмент журнала, чтобы добавить к вашему вопросу здесь.

0 голосов
/ 19 августа 2013

Я не уверен, поможет ли это вам, но сначала нужно проверить .... я обнаружил, что - во многих случаях системный администратор отключил доступ к таким вещам поэтому попробуйте найти этот файл: /etc/security/access.conf и найдите строку "# -: ALL EXCEPT root: tty1". Эта строка, если она активна (вначале нет #, будет запрещать вход в систему без полномочий root) tty1 Но будьте осторожны, НЕ ИЗМЕНИТЕ - лучше проверить с вашим системным администратором.

надеюсь, что это поможет

0 голосов
/ 07 ноября 2011

Перейдите в ваш / 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
0 голосов
/ 20 сентября 2008

Я подозреваю, что проблема в SELinux. Попробуйте временно отключить его, чтобы увидеть, работает ли он.

...