Настройка GDM

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

free-templates.ru