В OS X Darwin, почему я могу вмешаться во ввод текста через сеансы пользователя с помощью кошки?

То, что необходимо сделать, создают новое X использований сессии x11vnc (необходимо установить это на сервере). Вход в систему с ssh к серверу и выполненный:

 x11vnc -display :9

Можно теперь соединиться с использованием сервера, например, vncviewer:

 vncviewer server:9

удостоверьтесь, что числа в обеих командах являются тем же. Нормальный дисплей:0, так, чтобы ничего не показывал. Вы могли явно очистить тот экран программно, но если Вы просто хотите препятствовать тому, чтобы другие видели то, что Вы делаете, это должно быть достаточно.

Обратите внимание на то, что у Вас нет полного рабочего стола, просто X сессий.

Больше вводной информации может быть найдено на этом сайте

2
09.03.2014, 19:44
2 ответа

3. Непонимание происходящего.

Вы не вмешиваетесь в текстовые сеансы разных пользователей. Здесь только один пользователь ведет сеанс, назовем ее Алиса. Алиса зарегистрирована на консоли и запускает кучу приложений, включая некоторые эмуляторы терминалов.

В одном из этих терминалов Алиса выполняет sudo -u bob sh. Теперь есть оболочка, запущенная под учетной записью Боба, но терминал предоставлен Алисой. Процесс эмулятора терминала запущен от имени пользователя alice.

Когда вы запускаете cat /dev/ttys42 от имени Алисы, вы подглядываете и даже вмешиваетесь в работу эмулятора терминала, который выполняется Алисой, а не в работу оболочки, которую выполняет Боб.

Вы наблюдаете странные явления при наборе текста, потому что каждый байт передается несколько случайным образом любому из процессов, читающих ввод с терминала. Обычно в терминале существует только один процесс переднего плана: механизм управления заданиями и, в частности, управление группой процессов переднего плана и сигнал SIGTTIN обеспечивают это.

Обратите внимание, что /dev/ttys42 принадлежит Алисе. Если Боб запускает эмулятор терминала, то /dev/ttys42 будет принадлежать Бобу и не будет доступен для чтения или записи Алисе, поэтому Алиса не сможет вмешаться на этом уровне. Однако если этот терминал находится в GUI-сессии Алисы, то Алиса может вмешаться на уровне GUI (например, подсматривая или вводя нажатия клавиш, или заставляя Боба поверить, что он взаимодействует с терминалом, который он запустил, когда на самом деле он взаимодействует с приложением, выполняемым Алисой).

4
27.01.2020, 22:00
[115907] Для записи в файл, в данном случае в терминал, необходимо иметь права на запись в него. По умолчанию файл tty принадлежит (и может быть записан) пользователю, который его использует, а также записывается группой [116267]tty[116268], которая опять же по умолчанию содержит только [116269]root[116270]. Так что нет, не разрешается вмешиваться в чужие сеансы.[115908].
0
27.01.2020, 22:00

Теги

Похожие вопросы