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-сессии. Я протестировал их целую кучу -- некоторые работали, некоторые нет. Однако, не следует забывать о главном -- теоретически каждая программа, которую вы запускаете, может содержать дыры в безопасности, а это может привести к неприятным последствиям. Поэтому не слишком усердствуйте с такими экспериментами на рабочем месте -- так и с работой попрощаться недолго.
Mark работает в компании AudioBoomerang.com, которая создаёт, рассылает и отслеживает индивидуальные медиакампании, использующие электронную почту, веб и новостные каналы. Он работает консультантом, доставляющим конечный продукт клиентам AudioBoomerang.com, -- специальные статистические отчёты, предназначенные для формирования демографических или психологических профилей в будущих кампаниях. В свободное время он пишет статьи, связанные с Free Software (GPL) или Free Literature (FDL) и участвует в работе некоммерческого центра образования eastmont.net.
[1] Честное слово, я долго
держался, но чтобы не выйти из образа при переводе, я был просто обязан
"влепить" эту фразу. Надеюсь, поклонники KDM меня поймут. Это шутка и ничего
больше. :-)
[2] Перевод
этой статьи вы найдёте на Russian Linux
Gazette
Команда переводчиков:
Владимир Меренков, Александр Михайлов, Иван
Песин, Сергей Скороходов, Александр Саввин, Роман Шумихин, Александр Куприн,
Андрей Киселев