LINUX.ORG.RU

Подключиться к /dev/tty1 с другого терминала. Аналог vtgrab


0

0

Пробовал юзать гугл и маны, нашел
http://www.gentoo.ru/node/9423 где не ответили, только сказали что желать такого плохо. Маны посоветовали команду openvt.
Вопрос собственно такой: как подключиться к другому виртуальному терминалу чтобы увидеть, что там происходит и иметь возможность влиять на события?
Есть варианты:
setterm -dump <n> -file /dev/stdout
Или cat /dev/vcs<n>
Но они позволяют только увидеть, что происходит на экране, а не повлиять на него. И не работают с терминалами /dev/pts/*
socat /dev/tty1 STDIO и screen /dev/tty1 позволяют писать на экран, но то что пишется туда не исполняется и обратный ответ от терминала я не получаю.
Я знаю что можно использовать screen для того что бы одновременно работать с одной сессией консоли, но она требует предварительной подготовки на терминале, к которому я хочу подключиться.
openvt -c 8 — screen agetty 38400 /dev/pts/11 linux; screen -x
Вот такая команда в принципе похожа на то что мне нужно, но во-первых, как-то она глючно работает, а во-вторых хотелось бы подключаться к существующей agetty (или что там запущено на терминале), а не создавать новую.
vtgrab по описанию очень похоже на то что нужно, но она позволяет управлять только активным терминалом, если это не иксы.
Какие ещё есть варианты?

★★★★★
Ответ на: комментарий от pupok

> гугли по hijack+tty
Какие-то эксплоиты-руткиты находятся... В общем, видимо решение в том что бы разобраться в коде vtgrab и переделать его так, чтоб он мог работать с неактивными виртуальными консолями.

Xenius ★★★★★
() автор топика
Ответ на: комментарий от Xenius

> Какие-то эксплоиты-руткиты находятся...

ну твой use-case мало чем отличается от админа-мелкого пакостника который за пользователями подглядывает :)

pupok ★★
()
Ответ на: комментарий от pupok

Судя по всему, проще всего переделать программу, которую я уже нашел, сделав её не клиент-серверной, но зато с возможностью выбора терминала.

Xenius ★★★★★
() автор топика
Ответ на: комментарий от Xenius

Вообще скрин позволяет двоим одновременно сидеть в консоли. Там спец опция есть, сейчас не могу точно назвать, но что-то вроде force attach.

OxiD ★★★★
()
Ответ на: комментарий от OxiD

Вообще-то я знаю про это, screen -x, но мне хотелось подключаться именно к /dev/ttyX, так что бы пользователю на ней не обязательно было уметь использовать screen

Xenius ★★★★★
() автор топика
Ответ на: комментарий от OxiD

Ну а вопрос в топике читал?

Я знаю что можно использовать screen для того что бы одновременно работать с одной сессией консоли [с нескольких терминалов], но это требует предварительной подготовки на терминале, к которому нужно подключиться.


Вариантов использования такого несколько, скажем, как по ssh залогинить пользователя машины?

Xenius ★★★★★
() автор топика
Ответ на: комментарий от Xenius

А если вписать его как шелл пользователя или запустить как getty ? Второй вариант не пробовал, но думаю как-то можно.

OxiD ★★★★
()
Ответ на: комментарий от OxiD

Второй вариант как-то странно глючит, да и вообще, хотелось бы просто перехватывать tty напрямую. С правами рута можно всё, значит и это тоже.

Xenius ★★★★★
() автор топика
Ответ на: комментарий от Xenius

Вообще-то не все, рут это тех персонал, если на сервере хранится сверх секретная инфа то админу знать ее не полагается, и тем более подслушивать чужие терминалы.

Один из способов ограничить рута это селинукс например.

OxiD ★★★★
()
Ответ на: комментарий от OxiD

Идеальный рут может всё, в том числе и выключить SElinux.

Xenius ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.