Настройка GDM 2.2

By Mark Nielsen



  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 (http://www.tcu-inc.com/Articles/19/GDM.html)[2]
  2. Gnome Display Manager (http://www.socsci.auc.dk/~mkp/gdm/)
  3. 6-24-1999 Setting up xdm. (http://www.tcu-inc.com/mark/articles/Xdm.html)
  4. Последний вариант этой статьи вы можете найти на http://www.gnujobs.com/Articles/19/GDM.html

Mark Nielsen

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

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

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


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

Команда переводчиков:
Владимир Меренков, Александр Михайлов, Иван Песин, Сергей Скороходов, Александр Саввин, Роман Шумихин, Александр Куприн, Андрей Киселев