Настройка GDM 2.2

Автор: (C) Mark Nielsen
Перевод: (C) Александр Куприн


  1. Введение
  2. Конфигурация "по-быстрому"
  3. Выводы
  4. Ссылки

Введение.

GDM или GNOME Display Manager -- это графическая служба авторизации в системе. Её основная задача -- сделать вход в систему комфортным и приятным. GDM входит в состав дистрибутива RedHat и, как я подозреваю, в состав других дистрибутивов тоже. А сказать, что это "крутая штучка" -- значит не сказать ничего! Как пользователь при помощи программы "gdmphotosetup" вы можете выбрать пиктограмму для вашей учётной записи. Как администратор вы можете настраивать GDM, используя программу "gdmconfig", дающую доступ к ещё большему количеству опций. Хм... Так зачем же я пишу эти строки, если вы и сами в состоянии самостоятельно сделать всё это? А вот зачем -- я покажу вам пару "плохих" трюков, о существовании которых вы и не подозревали.

Конфигурируем "по-быстрому".

В файле gdm.conf я изменил следующие опции (которые вы, скорее всего, можете изменить, воспользовавшись графической программой настройки).

TitleBar=true
Browser=true

LockPosition=false
SetPosition=true
PositionX=0
PositionY=700

А вот мой скрипт /etc/X11/gdm/Init/Default.

#!/bin/sh

/usr/X11R6/bin/xsetroot -solid "#363047"

    ### Следующая строка представляет угрозу для безопасности системы.
    ### Обычно я настраиваю xterm на работу с пользователем
    ### mark.
xterm -r -fn 6x12 -geometry +0+25 -e '/etc/X11/gdm/mark.sh' &
#xterm -r -fn 6x12 -geometry +0+25 -e '/etc/X11/gdm/dummy.sh' &
    ### Загружаем фоновую картинку.
/usr/bin/xsri -geometry 500x500+600+300 /etc/X11/gdm/im000048.jpg
    ### Здесь указываем координаты на экране, в пределах которых
    ### будет отслеживаться курсор мышки.
xeyes -geometry +800+650 -bg white -fg green -outline blue &
    ### Пусть круглый год будет Рождество. :-)
xsnow -santaspeed 10 -santa 2 -snowflakes 1000 -whirl 4 -windtimer 30 &
    ### Часы, отсчитывающие время каждую секунду.
xclock -digital -geometry +600+650 -update 1 &
    ### Популярная игра для сапёров. Не знал куда приткнуть, поэтому
    ### оставил в середине экрана.
gnomine &
    ### Maelstrom. Ну, очень крут.
Maelstrom &
    ### Повесим xboard позади GDM. Если хотите, можете попробовать, если
    ### вам не дают покоя лавры Карпова или Каспарова.
xboard &
    ### Chromium -- отпадная аркада.
chromium-setup &
    ### Чтобы быть в курсе, где солнце уже село...
kworldclock -geometry +750+0 &
    ### И последним поселим на рабочем столе глупое создание.
amor &

Теперь посмотрим на содержимое '/etc/X11/gdm/mark.sh'.

#!/bin/bash

trap "" HUP
trap "" INT
trap "" QUIT
trap "" KILL
trap "" TSTP

su -l mark
exit
exit

Почему скрипт Default может быть опасен? Потому что существует возможность выполнять некоторые действия не авторизуясь в системе. Вот почему я установил в скрипте mark.sh набор ловушек и указал, что при завершении его работы активный пользователь мог бы получить, в крайнем случае, права пользователя mark. Я не хочу, чтобы кто-нибудь имел возможность выполнять команды "от имени" root'а. Уверен, что вы со мной согласны. Однако, (ох, уж это однако!) вариант с использованием учётной записи mark недостаточно хорош, чтобы я мог с чистой совестью рекомендовать его вам. Такой подход устраивает меня, но для вас он может быть неприемлем. Как альтернативу, вы можете использовать "chroot" (проверено -- работает). Вариант с использованием chroot выглядит немного заумным, но только на первый взгляд. Чуть ниже дан пример скрипта, использующего учётную запись, которую я назвал "пустышка" (dummy). В том случае, если вы хотите позволить пользователю dummy выполнять хоть какие-то действия, вы должны создать в /chroot/dummy те элементы, которые содержит корень вашей файловой системы (/bin, /sbin, /lib и прочие каталоги плюс их содержимое). И не забудьте файл /etc/passwd.

Вот как выглядит скрипт '/etc/X11/gdm/dummy.sh'.

#!/bin/bash

trap "" HUP
trap "" INT
trap "" QUIT
trap "" KILL
trap "" TSTP

chroot /chroot/dummy su -l dummy
exit
exit

Выводы

Да... GDM действительно крут, и я подозреваю, что KDM тоже неплох ...для старика ;-)...[1] И его, как и GDM, можно настроить так, чтобы с ним было приятно работать.

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

Ссылки

  1. Configuring GDM 2.2[2]
  2. Gnome Display Manager
  3. 6-24-1999 Setting up xdm.
  4. Последний вариант этой статьи вы можете найти на http://www.gnujobs.com/Articles/19/GDM.html

Примечания переводчика

[1] Честное слово, я долго держался, но чтобы не выйти из образа при переводе, я был просто обязан "влепить" эту фразу. Надеюсь, поклонники KDM меня поймут. Это шутка и ничего больше. :-)
[2] Перевод этой статьи вы найдёте на Russian Linux Gazette


Mark Nielsen

Mark работает в компании AudioBoomerang.com, которая создаёт, рассылает и отслеживает индивидуальные медиакампании, использующие электронную почту, веб и новостные каналы. Он работает консультантом, доставляющим конечный продукт клиентам AudioBoomerang.com, -- специальные статистические отчёты, предназначенные для формирования демографических или психологических профилей в будущих кампаниях. В свободное время он пишет статьи, связанные с Free Software (GPL) или Free Literature (FDL) и участвует в работе некоммерческого центра образования eastmont.net.


Copyright (C) 2002, Mark Nielsen.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 80 of Linux Gazette, July 2002

Вернуться на главную страницу