Содержание
- 2.1. Введение
- 2.2. Стабильность интерфейса
- 2.3. Описание функциональности
- 2.4. Панель программы приветствия
- 2.5. Специальные возможности
- 2.6. Обозреватель изображений пользователей GDM
- 2.7. XDMCP
- 2.8. Журналирование
- 2.9. Быстрое переключение пользователей
2.1 Введение
Менеджер дисплея GNOME (GDM) — это менеджер дисплея, который реализует все необходимое для управления локальными и удалёнными дисплеями. GDM был написан с нуля и не содержит кода из XDM или консорциума X.
GMD конфигурируется, и установки, влияющие на безопасность, и на которые следует обратить внимание, выделены в данном документе.
Некоторые дистрибутивы изменяют настройки GDM, поэтому их значения могут отличаться от значений по умолчанию, указанных в данном документе. Если GDM ведет себя не так, как описано в документации, пожалуйста, проверьте отличается ли содержимое конфигурационых файлов от указанного в данном документе.
Чтобы узнать больше о GDM посетите сайт проекта: http://www.gnome.org/projects/gdm и Wiki проекта http://live.gnome.org/GDM.
Чтобы задать вопросы или обсудить GDM используйте список рассылки
. Этот список рассылки имеет архив, где можно найти ответы на множество вопросов. Архив находится по адресу: http://mail.gnome.org/archives/gdm-list/ и позволяет искать сообщения по ключевым словам.Пожалуйста, все обнаруженные ошибки или предложения направляйте в http://bugzilla.gnome.org в категорию «gdm».
2.2 Стабильность интерфейса
GDM 2.20 and earlier supported stable configuration interfaces. However, the codebase was completely rewritten for GDM 2.22, and is not completely backward compatible with older releases. This is in part because things work differently, so some options just don't make sense, in part because some options never made sense, and in part because some functionality has not been reimplemented yet.
Интерфейсы, которые продолжают поддерживаться в неизменной форме включают в себя сценарии: Init, PreSession, PostSession, PostLogin и Xsession. Некоторые настройки демона в файле <etc>/gdm/custom.conf также всё ещё поддерживаются, также как ~/.dmrc и пути расположения обозревателя изображений пользователей.
GDM 2.20 and earlier supported the ability to manage multiple displays with separate graphics cards, such as used in terminal server environments, login in a window via a program like Xnest or Xephyr, the gdmsetup program, XML-based greeter themes, and the ability to run the XDMCP chooser from the login screen. These features were not added back during the 2.22 rewrite.
2.3 Описание функциональности
GDM отвечает за управление дисплеями в системе, что включает в себя: идентификацию пользователей, запуск и завершение сеанса пользователя. GDM конфигурируется, и способы его настройки описаны в разделе «Конфигурирование GDM». GDM также поддерживает работу людей с ограниченными возможностями.
GDM может управлять как основным консольным дисплеем, так и дисплеями виртуальных терминалов(VT), и XDMCP-дисплеями. Большинство приложений могут работать с несколькими консольными дисплеями при помощи интерфейса виртуального терминала Xserver (Xserver VT), например: Fast User Switch Applet (FUSA) и gnome-screensaver.
Независимо от типа дисплея, GDM при управлении выполнит следующие действия: запустит процесс Xserver, затем выполнит сценарий Init от имени администратора системы и запустит программу приветствия на данном дисплее.
The greeter program is run as the unprivileged "gdm" user/group. This user and group are described in the "Security" section of this document. The main function of the greeter program is to authenticate the user. The authentication process is driven by Pluggable Authentication Modules (PAM). The PAM modules determine what prompts (if any) are shown to the user to authenticate. On the average system, the greeter program will request a username and password for authentication. However some systems may be configured to use alternative mechanisms such as a fingerprint or SmartCard reader. GDM and PAM can be configured to not require any input, which will cause GDM to automatically log in and simply start a session, which can be useful for some environments, such as for kiosks.
In addition to authentication, the greeter program allows the user to select which session to start and which language to use. Sessions are defined by files that end in the .desktop suffix and more information about these files can be found in the "GDM User Session and Language Configuration" section of this document. By default, GDM is configured to display a face browser so the user can select their user account by clicking on an image instead of having to type their username. GDM keeps track of the user's default session and language in the user's ~/.dmrc and will use these defaults if the user did not pick a session or language in the login GUI.
После идентификации пользователя демон запустит сценарий PostLogin, затем PreSession от имени root. После выполнения этих сценариев запускается сеанс пользователя. Когда пользователь завершает текущий сеанс, выполняется сценарий PostSession от имени администратора системы. Эти сценарии используются как перехватчики событий, чтобы дистрибутив или пользователь могли модифицировать управление сеансами. Например, используя эти сценарии можно на лету создавать каталоги пользователей ($HOME) и уничтожать их после выхода пользователя из системы. Разница между PostLogin и PreSession в том, что первый выполняется до вызова метода pam_open_session, поэтому в PostLogin желательно расположить всё то, что необходимо выполнить до инициализации сеанса. Сценарий PreSession выполняется после инициализации сеанса пользователя.
2.4 Панель программы приветствия
The GDM greeter program displays a panel docked at the bottom of the screen which provides additional functionality. When a user is selected, the panel allows the user to select which session, language, and keyboard layout to use after logging in. The keyboard layout selector also changes the keyboard layout used when typing your password. The panel also contains an area for login services to leave status icons. Some example status icons include a battery icon for current battery usage, and an icon for enabling accessibility features. The greeter program also provides buttons which allow the user to shutdown or restart the system. It is possible to configure GDM to not provide the shutdown and restart buttons, if desired. GDM can also be configured via PolicyKit (or via RBAC on Oracle Solaris) to require the user have appropriate authorization before accepting the shutdown or restart request.
Note that keyboard layout features are only available on systems that support libxklavier.
2.5 Специальные возможности
GDM supports "Accessible Login", allowing users to log into their desktop session even if they cannot easily use the screen, mouse, or keyboard in the usual way. Accessible Technology (AT) features such as an on-screen keyboard, screen reader, screen magnifier, and Xserver AccessX keyboard accessibility are available. It is also possible to enable large text or high contrast icons and controls, if needed. Refer to the "Accessibility Configuration" section of the document for more information how various accessibility features can be configured.
В некоторых дистрибутивах учётную запись GDM необходимо сделать членом группы «audio», чтобы программы поддержки специальных возможностей, например программы чтения с экрана, могли нормально функционировать.
2.6 Обозреватель изображений пользователей GDM
Обозреватель изображений пользователей — это интерфейс, позволяющий пользователям ввести своё имя нажатием клавишей мыши на изображении. Эта возможность регулируется параметром /apps/gdm/simple-greeter/disable_user_list в GConf, и по умолчанию включена. Если она выключена, то пользователям необходимо ввести своё имя при помощи клавиатуры, иначе обозреватель показывает всех локальных пользователей, которым разрешен вход в систему (все пользователи из файла /etc/passwd, имеющие работающую командную оболочку (shell) и достаточное большое значение UID), а также всех удалённых пользователей, уже входивших в систему. Обозреватель из GDM 2.20 и меньше попытается показать всех удалённых пользователей, из-за чего может снизится производительность в больших системах.
Обозреватель упорядочивает пользователей по частоте входа в систему по убыванию. Благодаря чему пользователи, чаще всего регистрирующиеся в системе, могут быстро отыскать своё изображение.
Обозреватель изображений поддерживает поиск по первым символам, который динамически меняет положение изображение пользователя в списке по мере того, как пользователь вводит первые символы имени. Поэтому пользователю с длинным именем достаточно ввести несколько первых символов, и нужное имя автоматически будет выбрано из списка.
Изображения пользователей, которые использует GDM, могут быть установлены глобально системным администратором или располагаться в домашних каталогах пользователей. Глобально они находятся в каталоге <share>/pixmaps/faces/ и имя файла с изображением должно совпадать с именем пользователя. Изображение должно храниться в формате, который может быть прочтён библиотекой GTK+, например PNG или JPEG. Учётная запись GDM должна иметь права чтения этих файлов.
Общее изображение для всех пользователей установить нельзя. В домашнем каталоге пользователей GDM проверит наличие файла изображения в ~/.face, затем в ~/.face.icon и после проверит значение «face/picture=» в файле ~/.gnome2/gdm. Будет использовано первое найденное изображение в указанном порядке.
Если в каталоге пользователя не найдено изображение, GDM использует указанную в теме GTK+ в параметре «stock_person». Если такого параметра не найдено, то будет использовано стандартное изображение.
Так как загрузка и масштабирование изображений расположенных на удалённых компьютерах может занять продолжительное время, то GDM не загружает изображения пользователей из удалённых домашних каталогов.
Когда обозреватель включён, то он показывает всех пользователей, которым разрешен вход в систему, а если включен XDMCP, то имена всех пользователей доступны удалённо. Что ухудшает безопасность в том случае, если недоброжелатель не должен догадываться о корректных именах пользователей. Поэтому в некоторых системах с высоким уровнем безопасности использование обозревателя изображений пользователей недопустимо.
2.7 XDMCP
GDM можно настроить так, что он будет отслеживать и управлять запросами по протоколу управления дисплеями X (XDMCP) от удалённых машин. По умолчанию эта возможность отключена. Если GDM собран с поддержкой TCP Wrapper, то демон разрешит доступ тем машинам, которые перечислены в секции «GDM service» в конфигурационном файле TCP Wrapper.
GDM includes several measures making it more resistant to denial of service attacks on the XDMCP service. A lot of the protocol parameters, handshaking timeouts, etc. can be fine tuned. The default configuration should work reasonably on most systems.
GDM прослушивает UDP порт 177, используемый по умолчанию для XDMCP протокола. И отвечает на запросы QUERY и BROADCAST_QUERY, посылая пакет WILLING источнику.
GDM может быть настроен на обработку запросов INDIRECT и быть диспетчером удалённых менеджеров дисплеев. В этом случае GDM будет запоминать выбор пользователя и перенаправлять дальнейшие запросы указанному менеджеру (например, GDM) на другой машине. GDM также поддерживает расширения протокола, благодаря которым GDM не будет запоминать машину перенаправления после успешного соединения пользователя. Это возможно только если на обоих машинах используется GDM. Другие менеджеры будут игнорировать такую возможность.
Если XDMCP не работает, убедитесь, что все удалённые машины перечислены в файле /etc/hosts.
Для получения информации по вопросам безопасности использования XDMCP обратитесь к разделу «Безопасность».
2.8 Журналирование
GDM uses syslog to log errors and status. It can also log debugging information, which can be useful for tracking down problems if GDM is not working properly. Debug output can be enabled by setting the debug/Enable key to "true" in the <etc>/gdm/custom.conf file.
Вывод сообщений от большинства X серверов помещается в каталоге журналов GDM, по умолчанию <var>/log/gdm/. Любое сообщение X сервера сохраняется в файле с именем по номеру дисплея: <display>.log.
Вывод сообщений сеанса проходит через GDM в файл ~/.xsession-errors, который перезаписывается каждый раз при входе пользователя в систему, поэтому выход и вход в систему одного и того же пользователя приведёт к потере сообщений от предыдущего сеанса.
Если GDM не сможет создать этот файл по какой-либо причине, то будет создан файл ~/.xsession-errors.XXXXXXXX, где XXXXXXXX — набор случайных символов.
2.9 Быстрое переключение пользователей
GDM allows multiple users to be logged in at the same time. After one user is logged in, additional users can log in via the User Switcher on the GNOME Panel, or from the "Switch User" button in Lock Screen dialog of GNOME Screensaver. The active session can be changed back and forth using the same mechanism. Note that some distributions may not add the User Switcher to the default panel configuration. It can be added using the panel context menu.
Note this feature is available on systems that support Virtual Terminals. This feature will not function if Virtual Terminals is not available.