Менеджер отображения X: принципы работы и протокол XDMCP
X display manager
X Display Manager: графический менеджер в X Window System для запуска сессий и авторизации пользователей. Обеспечивает вход с экрана и управление X сервером.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
программа под названием "X Display Manager"
the program called 'X Display Manager'
В системе X Window System, X display manager – это графический менеджер входа в систему, который запускает сеанс входа на X-сервере с того же или другого компьютера. Менеджер дисплеев предоставляет пользователю экран входа в систему. Сеанс начинается, когда пользователь успешно вводит верную комбинацию имени пользователя и пароля. Когда менеджер дисплеев запускается на компьютере пользователя, он запускает X-сервер перед отображением экрана входа, с возможностью повторного запуска при выходе пользователя из системы. В этом случае DM реализует в X Window System функциональность команд `login` и `getty` на символьных терминалах. Когда менеджер дисплеев запускается на удаленном компьютере, он действует как сервер telnet, запрашивая имя пользователя и пароль и запуская удаленную сессию. X11 Release 3 представил менеджеры дисплеев в октябре 1988 года с целью поддержки автономных X-терминалов, которые только начинали появляться на рынке. Различные менеджеры дисплеев продолжают широко использоваться для обеспечения графического запроса имени пользователя и пароля на автономных компьютерных рабочих станциях, работающих под управлением X. X11R4 представил протокол управления X Display Manager (XDMCP) в декабре 1989 года для устранения проблем в реализации X11R3.
In the X Window System, an X display manager is a graphical login manager which starts a login session on an X server from the same or another computer. A display manager presents the user with a login screen. A session starts when a user successfully enters a valid combination of username and password. When the display manager runs on the user's computer, it starts the X server before presenting the user the login screen, optionally repeating when the user logs out. In this condition, the DM realizes in the X Window System the functionality of and on character mode terminals. When the display manager runs on a remote computer, it acts like a telnet server, requesting username and password and starting a remote session. X11 Release 3 introduced display managers in October 1988 with the aim of supporting the standalone X terminals, just coming onto the market. Various display managers continue in routine use to provide a graphical login prompt on standalone computer workstations running X. X11R4 introduced the X Display Manager Control Protocol (XDMCP) in December 1989 to fix problems in the X11R3 implementation.
История
XDM (X Window Display Manager) возник в X11R3. Эта первая версия, написанная Китом Паккардом из MIT X Consortium, имела несколько ограничений, наиболее заметным из которых было то, что она не могла обнаруживать, когда пользователи выключали и включали терминалы X. В X11R3 XDM знал о терминале X только по его записи в файле, но XDM обращался к этому файлу только при запуске. Таким образом, каждый раз, когда пользователь выключал и включал терминал, системному администратору приходилось отправлять сигнал SIGHUP в XDM, чтобы указать ему повторно просканировать файл. XDMCP появился с выпуском X11R4 (декабрь 1989 года). При использовании XDMCP сервер X должен активно запрашивать соединение с менеджером отображения у хоста. Следовательно, сервер X, использующий XDMCP, больше не требует записи в файле .
XDM (the X Window Display Manager) originated in X11R3. This first version, written by Keith Packard of the MIT X Consortium, had several limitations, the most notable of which was that it could not detect when users switched X terminals off and on. In X11R3, XDM only knew about an X terminal from its entry in the file, but XDM only consulted this file when it started. Thus every time a user switched a terminal off and on, the system administrator had to send a SIGHUP signal to XDM to instruct it to rescan
XDMCP arrived with the introduction of X11R4 (December 1989). With XDMCP, the X server must actively request a display manager connection from the host. An X server using XDMCP therefore no longer requires an entry in .
X Протокол управления дисплеем
Протокол управления X Display Manager (XDMCP) использует UDP-порт 177. X-сервер запрашивает запуск сессии у менеджера отображения, отправляя запрос (Query packet). Если менеджер отображения разрешает доступ этому X-серверу, он отвечает, отправляя пакет Willing обратно на X-сервер. (X-сервер также может отправлять пакеты BroadcastQuery или IndirectQuery для начала сессии – этот механизм запроса сессии аналогичен использованию DHCP для получения IP-адреса.) Менеджер отображения должен аутентифицироваться на сервере. Для этого X-сервер отправляет пакет Request менеджеру отображения, который возвращает пакет Accept. Если пакет Accept содержит ожидаемый X-сервером ответ, менеджер отображения считается аутентифицированным. Для формирования правильного ответа менеджеру отображения может потребоваться, например, доступ к секретному ключу. В случае успешной аутентификации X-сервер отправляет пакет Manage, чтобы уведомить об этом менеджер отображения. Затем менеджер отображения отображает экран входа, подключаясь к X-серверу как обычный X-клиент. В ходе сессии сервер может периодически отправлять пакеты KeepAlive менеджеру отображения. Если менеджер отображения не отвечает пакетом Alive в течение определенного времени, X-сервер предполагает, что менеджер отображения перестал работать, и может разорвать соединение.
The X Display Manager Control Protocol (XDMCP) uses UDP port 177. An X server requests that a display manager start a session by sending a Query packet. If the display manager allows access for that X server, it responds by sending a Willing packet back to the X server. (The X server can also send BroadcastQuery or IndirectQuery packets to start a session this mechanism for requesting a session resembles using DHCP to request an IP address.) The display manager must authenticate itself to the server. To do this the X server sends a Request packet to the display manager, which returns an Accept packet. If the Accept packet contains the response the X server expects, the display manager is authenticated. Producing the correct response might require the display manager to have access to a secret key, for example. If authentication succeeds, the X server sends a Manage packet to inform the display manager. Then the display manager displays its login screen by connecting to the X server as a regular X client. During the session, the server can send KeepAlive packets to the display manager at intervals. If the display manager fails to respond with an Alive packet within a certain time, the X server presumes that the display manager has ceased running, and can terminate the connection.
Безопасность
Одна из проблем XDMCP заключается в том, что, подобно telnet, аутентификация происходит без шифрования. Если возможно перехват трафика, это делает систему уязвимой для атак. Использовать SSH-туннель для X-трафика более безопасно.
One problem with XDMCP is that, similarly to telnet, the authentication takes place unencrypted. If snooping is possible, this leaves the system vulnerable to attack. It is more secure to use an ssh tunnel for X traffic.