GDM yapılandırması
Önceki Sunucu Makinaya Linux kurulması Sonraki
GDM yapılandırması
GDM, X terminallerin sunucuya bağlanabilmesi için onlarda başlatılmış X oturumlarından gelecek istekleri dinler, bu isteklere GDM oturum açma ekranını gönderir ve kullanıcı girişi bekler. Verilen kullanıcı ismi ve parolası, üzerinde çalıştığı Linux sisteminde tanımlı kullanıcılardan biri ise üzerinde çalıştığı makinanın hemen tüm kaynaklarını oturum açmak isteyen kullanıcıya sunar. Bizim yapılandırmamızda ise kullanıcı 10 saniye içinde bir isim ve parola girmezse öntanımlı kullanıcı ismiyle sunucuya bağlanabiliyor. Ayrıca GDM, sadece terminalleri yönetiyor. Sunucu makina üzerinde bir X oturumu açılmak istenirse normal bir X oturumu olarak çalıştırılabilir.
gdm yapılandırması /etc/X11/gdm/gdm.conf dosyasında yapılıyor. Masaüstünde çalışan görsel bir GDM yapılandırma uygulaması olmasına rağmen biz onu kullanmayacağız. Çünkü bu yapılandırmayı yapabilmek için yeterli değil. /etc/X11/gdm/gdm.conf dosyasının içeriğini aşağıdaki örneğe göre düzenleyin:
[daemon]
# X terminallerinden bir kullanıcı 10 saniye içinde bir kullanıcı ismi ve
# parolası girmezse "talebe" kullanıcısı ile oturum açılacak.
# Bunu aşağıdaki seçeneklerle sağlıyoruz. "talebe" için makinada bir
# parolasız bir hesap tanımlanmış olmalı.
TimedLoginEnable=true
TimedLogin=talebe
TimedLoginDelay=10

# X terminallerinin bağlanması için kullanıcıya gösterilen oturum
# açma ekranını çalıştıran komut. Ağ yükü ağır gelirse daha basit
# görünümdeki gdmlogin ile değiştirebilirsiniz.
#RemoteGreeter=/usr/bin/gdmlogin
RemoteGreeter=/usr/bin/gdmgreeter

# gdm'nin sistem üzerinde çeşitli amaçlar için kullandığı kullanıcı ve
# grup ismi. Bunlara dokunmuyoruz.
User=gdm
Group=gdm

# gdm'nin günlük kayıtlarını tuttuğu dizin ve süreç kimliğini sakladığı dosya.
# Dokunmuyoruz, bilgi için kalsın.
LogDir=/var/log/gdm
PidFile=/var/run/gdm.pid

# X terminallerine oturum açmadan önce açarken ve açtıktan sonra
# yapılan eylemlerle ilgi yapılandırma. Dokunmuyoruz.
PostLoginScriptDir=/etc/X11/gdm/PostLogin/
PreSessionScriptDir=/etc/X11/gdm/PreSession/
PostSessionScriptDir=/etc/X11/gdm/PostSession/
DisplayInitDir=/etc/X11/gdm/Init

# X çökerse çalıştırılacak betik. Dokunmuyoruz.
XKeepsCrashing=/etc/X11/gdm/XKeepsCrashing

# Kimlik denetimi ile ilgili kayıtların tutulacağı dizin. Dokunmuyoruz.
ServAuthDir=/var/gdm

# Hangi masaüstünün çalıştırılacağının saptandığı betik.
BaseXsession=/etc/X11/gdm/Xsession

# Kullanıcı yetkilendirmesi ile ilgili X dosyaları için.
# Kullanıcının ev dizini yazılabilir değilse bu dizin kullanılacak.
UserAuthFBDir=/tmp
UserAuthFile=.Xauthority

# X sunucusu
StandardXServer=/usr/X11R6/bin/X

# X nest komutu
Xnest=/usr/X11R6/bin/Xnest -audit 0 -name Xnest

# Sistemde 6 tane kullanılabilir metin konsolu var (tty1-6).
# 7. konsolu bu makina üzerinde çalıştırılacak X oturumuna ayırıyoruz.
# Dolayısıyla bir terminalin alabileceği ilk konsol 8. olacak.
# /etc/securetty dosyanızdaki tty'ler tüm X terminallerinize yetmiyorsa
# sayısını arttırın.
FirstVT=8
VTAllocation=true


[security]
# X terminallerinden root kullanıcısının oturum açmasına izin vermiyoruz.
AllowRemoteRoot=false

# Terminallerden 10 saniye içinde giriş yapılmazsa oturumun "talebe"
# kullanıcısı ile açılmasına izin veren seçenek.
AllowRemoteAutoLogin=true

# yazma yetkisi: 0 kullanıcı, 1 grup, 2 herkes
# Bu yapılandırmada hiçbir önemi yok. Dokunmuyoruz.
RelaxPermissions=0

# gdm'nin terminallerden gelen istekleri dinlememesini sağlayan seçenek.
# Bu yapılandırma dinlemesini gerektiriyor.
DisallowTCP=false


[xdmcp]
# Standart xdmcp portu olan 177/udp portunun dinlenmesini sağlar.
Enable=true


[gui]
# Burada değiştireceğimiz bir şey yok.


[greeter]
# Oturum açma ekranı ile ilgil görsel ayarlar.

# Paneldeki saatin 24 saatlik olmasını isteriz.
Use24Clock=true

# Oturum açma ekranında kullanılan tema ve temaların bulunduğu yer.
#GraphicalTheme=circles
GraphicalThemeDir=/usr/share/gdm/themes/


[chooser]
# chooser, ağdaki diğer X terminal sunucularını listesini gösterir.
# Oturumun seçilen sunucuda açılmasını sağlar.
# Bu seçenekler çok sayıda X terminal sunucusu çalıştıracaksanız anlamlı.

#DefaultHostImg=/usr/share/pixmaps/nohost.png
# Directory with host images, they are named by the hosts: host or host.png
HostImageDir=/usr/share/hosts/
# Time we scan for hosts (well only the time we tell the user we are
# scanning actually, we continue to listen even after this has
# expired)
#ScanTime=4
# A comma separated lists of hosts to automatically add (if they answer to
# a query of course).  You can use this to reach hosts that broadcast cannot
# reach.
Hosts=
# Broadcast a query to get all hosts on the current network that answer
Broadcast=true
# Set it to true if you want to send a multicast query to hosts.
Multicast=false
# It is an IPv6 multicast address.It is hardcoded here and will be replaced when
# officially registered xdmcp multicast address of TBD will be available
#Multicast_Addr=ff02::1
# Allow adding random hosts to the list by typing in their names
#AllowAdd=true

[debug]
# Hata ayıklama iletilerini isterseniz true yapın.
Enable=false

[servers]
# gdm'nin bu makina üzerindeki X oturumunu da yönetmesini istiyorsanız
# bu satırlardan ilkini etkinleştirin. İkisini de etkinleştirebilirsiniz.
#0=Standard
#1=Standard

[server-Standard]
# servers bölümündeki ayarlara bağlı olarak buradaki seçenekler
# anlam kazanır.
name=Standard server
command=/usr/X11R6/bin/X -audit 0
flexible=true

[server-Terminal]
# Bu X terminal sunucusu.
name=Terminal server
command=/usr/X11R6/bin/X -audit 0 -terminate
# Make this not appear in the flexible servers (we need extra params
# anyway, and terminate would be bad for xdmcp choosing).  You can
# make a terminal server flexible, but not with an indirect query.
# If you need flexible indirect query server, then you must get rid
# of the -terminate and the only way to kill the flexible server will
# then be by Ctrl-Alt-Backspace
flexible=false
# Not local, we do not handle the logins for this X server
handled=false

[server-Chooser]
# Diğer sunucuları seçmeyi sağlayan ekran.
name=Chooser server
command=/usr/X11R6/bin/X -audit 0
Yapılandırma dosyasında bir öntanımlı kullanıcı belirtmiştik. Şimdi o kullanıcı için sistemde bir hesap açalım. Bu kullanıcının parolası olmayacak:
# /usr/sbin/useradd -g users talebe
# passwd -l talebe
Bu komutlarla sisteme talebe kullanıcısını tanımlamış olduk. Artık dosya sisteminde bir /home/talebe dizini var. X terminallerinden bir kullanıcı ismi belirtmeden oturum açan bütün kullanıcılar bu dizini ev dizini olarak ortak kullanacaklar. Bu hoş bir durum değil, kullanıcılara istedikleri takdirde bir kullanıcı ismi vermeniz daha iyi olur. Diğer yandan sahipsiz kalmış kullanıcı isimlerine ait ev dizinlerinin varolacak olması da sizin açınızdan hoş olmayabilir. Karar sizin. Her iki durum da bu yapılandırma ile mümkün.
/home/talebe dizininde .dmrc adıyla bir dosya açın ve içine aşağıdakileri yazın:
[Desktop]
Session=kde
Language=tr_TR.UTF-8
Bu dosyayı oturum açarken gdm okuyacak ve oturumu türkçe olarak Session satırında belirtilen masaüstü yöneticisi ile açacak.
Şimdi sıra /etc/inittab dosyasında. Bu makina üzerinde X oturumunu hiç başlatmaz, siz konsolda kalabilirsiniz ve isterseniz startx komutu ile bir X oturumu açabilirsiniz. Bir sunucu için en elverişli yöntem budur. inittab dosyasını buna göre yapılandırıyoruz ve sadece initdefault satırını 3. çalışma seviyesine ayarlıyoruz. Zaten böyleyse dokunmayın:
id:3:initdefault:
gdm bu makinada artalanda bir sunucu olarak çalışacağından sistem açılışında çalışmasını sağlamamız lazım. Bunun için /etc/rc.d/rc.local dosyasının sonuna:
/usr/bin/gdm
satırını ekliyoruz.
Sistemi yeniden başlattığınızda X sunucusu ağdan gelecek istekleri bekliyor olacak. nmap ile bakarsanız aşağıdakine benzer bir çıktı alacaksınız:
# nmap -sTU 127.0.0.1

Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on localhost (127.0.0.1):
(The 3044 ports scanned but not shown below are in state: closed)
Port       State       Service
22/tcp     open        ssh
67/udp     open        dhcpserver
137/udp    open        netbios-ns
138/udp    open        netbios-dgm
139/tcp    open        netbios-ssn
177/udp    open        xdmcp
445/tcp    open        microsoft-ds
514/tcp    open        shell
901/tcp    open        samba-swat
6000/tcp   open        X11
7100/tcp   open        font-service

Nmap run completed -- 1 IP address (1 host up) scanned in 9 seconds
22/tcp     open        ssh
satırı sizde olmayabilir. Ama olacak. Yeri geldiğinde ondan bahsedeceğim.
Önceki Üst Ana Başlık Sonraki
XFS yapılandırması Başlangıç X Terminal Sisteminin Yapılması
Bir Linux Kitaplığı Sayfası