Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
Bu makalenin sa�land��� diller : �ngilizceFrans�zca   Turkce
[Yazarýn fotoðrafý]
yazan: At�f Gaffar

Yazar hakk�nda:

At�f'�n on parma��nda on marifet vard�r. ��ini bitirebilmek i�in Sistem Y�neticili�inden tutun da programc�l��a, ��retmenlikten tutun da proje m�d�rl���ne kadar gereken ne kadar g�rev varsa hepsini yerine getirir.
�u anda 4unet te �nternet Geli�tirme M�d�r� olarak �al���yor ve kiralamak �zere yetenekli ki�iler ar�yor.
Kendisi hakk�nda daha fazla bilgiyi onun anasayfas�nda bulabilirsiniz

��indekiler:

A��k kodlu yaz�l�mlarla b�l�nebilir ISS ler geli�tirme

�eviri : Mustafa Azam Sezer

ispman

�zet:

Son makalemde size Linux alt�nda LDAP kullanmay� anlatm��t�m. LDAP'nin a��k kaynakl� bir programla nas�l birle�ip bir ileti veya bir sunucu sistemi yapabildi�ini merak eden insanlardan bir �ok soru ald�m.

Bu Makalede Linux ve LDAP tabanl� b�l�nebilir bir ISS servisi kuraca��z. Bu servis bir �ok �nemli noktaya ve sorulan bir �ok konuya a��kl�k getirecek. Sonra onu y�netmek i�in ISPMan denilen bir ara� kullanaca��z.

Metin �eklindeki �rneklerin uzunlu�undan kurtulmak i�in onlar� onlar� metin kutucuklar�na ekledim. E�er ger�ekten bu sayfan�n ��kt�s�n� almak istiyorsan�z o zaman onu kendi bilgisayar�n�zda saklay�n ve metin kutucuklar�ndaki �rnekleri "pre tags'e" d�n��t�r�n.
Belki bu perl komutu sizin i�in bir �eyler yapabilir.
perl -pi.bak -e 's!textarea.*?>!pre>!g' filename

Bir ISS meydana getirmek ve sonra onu y�netmek uzmanl�k isteyen bir i�, �zellikle onun rahat�a eri�ilebilir, b�l�nebilir ve b�y�k bir k�sm�n�n otomatik olmas�n� istiyorsan�z. Bir ISS'yi �al��t�rmak kendini makinalar�n �al��mas�na, kullan�c� hesaplar�n�n olu�turulmas�na, sanaldoku sitelerinin y�netilmesine, sorun gidermeye, bir yard�m masas� �al��t�rmaya vb. i�lere adam�� Sisitem Y�neticilerinden olu�an bir tak�m gerektirir.
�o�u zaman yard�m masas�n�n kurulumda ya �ok az etkisi vard� ya da hi� yoktur. Kar��la�t���m yard�m masalar�n�n �o�unun umutsuzca yard�ma ihtiyac� vard�.



 

Neden LDAP?

LDAP m�kemmel bir dizindir. LDAP, kullan�c� adlar�n� ve �ifrelerini y�netmekten ziyade kullan�c�lar� ve kaynaklar� y�netir. Yaz�m�n ilerleyen b�l�mlerinde LDAP'nin nas�l her �eyi tek merkezden idare etti�ini g�rece�iz.

 

ISPMan nedir?

ISPMan benim yazd���m� bir program; bu program sayesinde IT b�l�m�ndekiler yeni bir alanad�(domain) olu�turacaklar�nda, bir internet sunucusu kuracaklar�nda veya bir DNS girdisini de�i�tireceklerinde beni rahats�z etmeyecekler. ISPMan a��k kodlu bir program ve onu http://www.ispman.org adresinden indirebilirsiniz. Burada ISPMan'in kendisi hakk�nda a��klama yapmaktansa onun ard�ndaki genel kavramlardan bahsedece�im. Kendinizi onu denemek ve geli�tirmek hususunda �zg�r hissedebilirsiniz.

 

Bu ISS bize ne sa�layacak?

Bu ISS bize DNS, posta, internet postas�, internet sunuculu�u vb. �eyler sa�layacak.

Mesele �u ki: Bir m��teri geliyor ve "exampledomain.com" diye bir alanad�(domain) almak istiyor.
Bu alanad� bir ka� tu� vuru�uyla olu�turuluyor ama asl�nda sahne arkas�nda DNS'i, sanal posta sunucusunu ve sanal bir internet sunucusunu kurmak gibi bir �ok sihirli i�lem yat�yor.
M��teri kendi internet veya ftp sunucusuna eri�mek bir kullan�c� ad� al�yor. Ayn� alanad� i�inde epotaya eri�im i�in s�n�rs�z say�da kullan�c� olu�turulabiliyor. Alanad�n� kullanan kullan�c�n�n indirme i�lemi i�in yeri olup olmayaca�� size kalm��.

Tabi bir de internet eri�imi sa�lama i�i var. Bu konu �ok sade ya da ger�ekten �ok karma��k olabilece�inden dolay� bu makalede ona de�inmeyece�iz :).

 

Sanal alanadlar�

Herkes kendi internet sitesine ve kendi alan�ndan bir elektronik posta adresine sahip olmak ister fakat elektronik posta hesab� olu�turma i�i elektronik posta kullanmak i�in gereken sistem hesaplar�na garip bir �ekilde ba�l� oldu�undan ben bunu sevmiyorum.
kullanici1@alanad�1.com ve kullanici2@alanad�1.ch etclerini y�netmek istedi�inizde bir �ok d�zeyde sorun ��k�yor ��nk� yap�lmas� gereken bir �ok gereksiz y�nlendirme i�lemi var.
�rnek olarak m�kemmel bir IMAP sunucusu olan Cyrus'u alabiliriz. Cyrus kullan�c�lar� y�netmek yerine posta kutular�n�(mailbox) kontrol eder. Sadece bir posta kutusunun ad�n�n "agaffar" olmas�na izin verir. E�er "linuxrus.com" alanad�ndan bir m��terim varsa ve bu m��terim "agaffar" diye bir kullan�c� ad� istiyorsa bu talihimin bana ufak bir oyun oynad��� anlam�na gelir. Bu durumda farkl� ada sahip bir posta kutusu olu�turmal� ve kullan�c�y� o posta kutusuna y�nlendirmeliyim. Bu i�in ikinci bir p�f noktas� da "agaffar.linuxrus.com" ad�nda bir kullan�c� olu�turmak fakat Cyrus "." y� posta kutusu ay�rac� olarak kulland��� i�in ne birincisini yapabilirim ne de "[email protected]" adl� bir kullan�c� ad� kullanabilirim. Neyse ki gelecekteki programlar ak�llarda zaten var olan alanadlar�yla yaz�lacak.

Hepimizin Amerika'da ya�amad���n� da hat�rlatmak isterim. Bir �ok posta listesi kullan�c�1@alanad�1 ve kullan�c�2@alanad�2 yi �neriyor. Onlar b�t�n alanadlar�n�n .com ile bitmesini umuyorlar. So we have to keep track of "username" "domain" "TLD"(Top Level Domain).

Bizim tasar�m�z b�t�n bunlar� hesaba katacak.

"agaffar" diye bir kullan�c� olu�turmak yerine kullan�c�lar� "kullan�c�ad�_alanad�_tld" �eklinde olu�turaca��z.
Ayra� olarak neden "_" yi kulland���m� bilmiyorum fakat "." Cyrus y�z�nden kullan�lamazd� ve di�er ayra�larla da daha ba�ka problemlerimiz vard�, �rne�in "&" hem komut sat�rlar� hem de URL ler i�in sak�ncal�yd�.

 

ISS imizi g��lendirren yaz�l�mlar

A�a��da LDAP ile sorunsuz bir �ekilde �al��an programlar�n bir listesini g�r�yorsunuz. Tabi isterseniz, ve de �al���rsa, ba�ka programlar da kullanabilirsiniz.

 

Dizin Tasarlama

Dizinimiz alanadlar�na dayan�yor. Bu dizinde alanadlar�, alanad� kullan�c�lar�, alanad� servisleri etc leri var.
�rene�in LDAP y�neticisi ve Cyrus y�neticisi gibi kullan�c�lar�n d���ndaki bir kullan�c� sadece bir alanad�nda var olabilir.
alanad�n�n ilgili b�l�m� kendisine ba�l� olan kullan�c�lar�n bilgilerini, alanad�n�n DNS bilgilerini ve alanad� etc sinin internet bilgilerini saklar
�rnek

Burada "develeoper.ch" alanad� i�in bir b�l�m tan�mlad�k, bu b�l�m�n kulln�c�lar, dns bilgileri ve internet bilgileri i�in alt b�l�mleri var.
Bu �rnekte alanad�na sadece "alanad�.tld" kullan�c�s�n�n ftp ile eri�mesini istedi�imiz i�in bir uid, gid ve anadizin(homeDirectory) tan�mlad�k.
�rne�in developer.ch adl� alanad�n�n sahibi kendi dizinine dosya y�kelemek istedi�inde sisteme "developer.ch" olarak ba�lanacak ve ftp sunusuna ba�lanmak i�in uygun �ifreyi girdi�inde anadizinine ula�abilecek vesaire vesaire... bundan daha sonra bahsedece�iz.

Di�er kullan�c�lar�n alanad�na ftp ile eri�melerini istemedi�imiz i�in onlara bir uid,gid ve etc tan�mlamad�k.
B�t�n bir LDIF �rnek dosyas�n� burada bulabilirsiniz (bu dosya biraz eski olabilir ��nk� bir �retim makinas�ndan al�nd� ve yeni tasar�m�nda i�ine baz� �zelikler ekledim) veya patronunuza bir �rnek sunmak i�in bu ba�lant�y� kullanabilirsiniz (bu da biraz eski tarihli)

 

LDAP'de Do�rulama (Sistem hesab� olmadan)

LDAP nin di�er bir g�zelli�i de /etc/passwd, /etc/shadow etc sinde herhangi bir sistem hesab� olu�turmak ya da NIS etc sini y�netmek zorunda olmay���m�z.
T�m hesaplar LDAP de toplan�r ve do�rulama da direk LDAP �zreinden yap�l�r.
Bu ufak oyunu yapabilmek i�in PAM (Pluggable Authentification Module) pam_ldap'den b�y�k yard�m ald�k. PAM sizin do�rulama i�in hangi mod�l� kullanaca��n�z� belirlemenize olanak verir.

�rne�in benim /etc/pam.d/imap, /etc/pam.d/pop ve /etc/pam.d/proftpd dosyalar�m �u �ekilde:


#%PAM-1.0

auth       sufficient   /lib/security/pam_ldap.so

account    sufficient   /lib/security/pam_ldap.so                               

Art�k t�m imap/pop3/ftp do�rulama i�lemleri ldap sunucusu taraf�ndan y�r�t�l�yor. B�ylece agaffar_developer_ch adl� kullan�c� do�rulanm�� oluyor(gets authentificated) ve sistemin passwd veya nis kay�tlar�nda kayd� olmasa bile kendine gelen iletileri alabiliyor.

 

Dns i LDAP ile Y�netmek

DNS'in halihaz�rda LDAP i�in bir backend'i yok, ama belki de DHCP ile ba�lant� kurmak i�in kullan�lan Dynamica DNS d���nda bir DNS i�in backendi olmas� iyi bir fikir de�il. Neyse, LDAP'yi DNS hakk�ndaki bilgileri depolama ve daha sonra bunlar� kullanarak DNS alan dosyalar� olu�turmak i�in kullan�yoruz. Bu bizim DNSte herhangi bir de�i�iklik yapmadan her �eyi merkezi bir g�venli makinadan y�netmemize olanak sa�l�yor.

LDAP deki DNS girdileri �u �ekilde g�z�k�yor:

dn: ou=dnsdata, domain=4unet.net, o=ispman

domain: 4unet.net

ou: dnsdata

objectclass: top

objectclass: domainrelatedobject

objectclass: posixAccount

uid: 4unet.net

uidNumber: 2000

gidNumber: 1000

homeDirectory: /home/4unet.net

userPassword: {crypt}XXffGGHH

loginShell: /bin/true

dns bilgisi kolu tan�mlar�. Ayn� zamanda alanad�yla ayn� ada sahip bir posixAccount (bir kullan�c�) tan�ml�yor. Bu kullan�c� alanad�na ftp ile ba�lan�p daha �nce belirlenmi� k�s�mlara dosya y�kleyebilen bir �e�it webmaster.

dn: cn=soarecords, ou=dnsdata, domain=4unet.net, o=ispman

cn: soarecords

primary: ns1.4unet.net

ou: dnsdata

retry: 1800

rootmail: dnsmaster.4unet.net

domain: 4unet.net

minimum: 432000

objectclass: top

objectclass: domainRelatedObject

expire: 1209600

refresh: 21600

Bu k�s�m 4unet.net'in DNS'si i�in SOA kay�tlar�n� tan�ml�yor.
Alan dosyas�n�n i�inde bu de�erleri onlar� DNS SOA kay�tlar�na �evirecek bir script bulundurmak zorundas�n�z.

dn: cn=nsrecords, ou=dnsdata, domain=4unet.net, o=ispman

domain: 4unet.net

cn: nsrecords

ou: dnsdata

objectclass: top

objectclass: domainRelatedObject

record: @,ns1.4unet.net

record: @,ns2.4unet.net

Ve bunlar da NS kay�tlar�.
T�m bilgileri bir script tutacak, onlar� "," karakteri ile ay�racak ve alan dosyas�na eklenecek olan hedefi ve isim sunucusunu bulacak

dn: cn=mxrecords, ou=dnsdata, domain=4unet.net, o=ispman

domain: 4unet.net

cn: mxrecords

ou: dnsdata

objectclass: top

objectclass: domainRelatedObject

record: @,10, mx1.4unet.net

record: @,100, mx2.4unet.net

Yukar�dakilerin ayn�s� ama bu sefer MX kay�tlar�.
Bu kay�tlar ayn� zamanda alan dosyalar�n�n i�indeki MX kay�tlar�na g�re d�zenlenmi� olan �ncelik alan�n� da i�eriyor.

dn: cn=arecords, ou=dnsdata, domain=4unet.net, o=ispman

objectclass: top

objectclass: domainRelatedObject

domain: 4unet.net

cn: arecords

ou: dnsdata

record: ns1, 193.247.80.43

record: ns2, 193.247.80.44

record: @,193.247.80.43

record: @,193.247.80.44

Bunlar da A kodlar�, basit olarak sunucu, ip adres y�nlendirmeleri

dn: cn=cnames, ou=dnsdata, domain=4unet.net, o=ispman

objectclass: top

objectclass: domainRelatedObject

domain: 4unet.net

cn: cnames

ou: dnsdata

record: ftp, www

record: mail, www

record: *, www

Bunlar da sunucular i�in CNAME veya K�saltmalar
B�t�n bu scriptler ISPMan paketinin i�inde var. Bir NS kayd�n�n nas�l de�i�tirilece�ini anlatan �u ekran g�r�nt�s�ne bir g�z at�n.

 

proftpd'nin Kurulmas�

proftpd'yi LDAP mod�l� ile birlikte y�klemi� olmak zorundas�n�z. ftp yi sanal sunucu etc si ile �al��t�racaksan�z ve sanal sunucunun da �o�u zaman me�gul olaca��n� d���n�yorsan�z ftp yi inetd nin i�inden �al��t�rmak yerine kendi ba��na �al��t�rmal�s�n�z.
Bu y�zden inetd.conf k�sm�ndaki sat�rlar� yeniden d�zenleyin ve inetd �eytan�n�(daemon) yeniden y�kleyin.
Ad� ftponly olan ve gid 1000 e sahip bir grup olu�turn.T�m alandalar�na bu gid i verece�iz.

/etc/pam.d/proftpd dizinini yukar�da LDAP Do�rulamas� k�sm�nda g�sterildi�i gibi d�zenleyin.
O zaman /etc/proftpd.conf dizininiz �unun gibi g�z�kmeli.

proftpd'yi �al��t�rmak i�in /usr/sbin/proftpd, onu kapatmak i�in de killall /usr/sbin/proftpd yazabilirsiniz

 

Cyrus'un Kurulmas�

Cyrus SASL'yi, imapd'yi ve UW-IMAP istemci c-sdk's�n� derleyin ve kurun. IMAP istemcisinin sdk's� zaten sisteminizde y�klenmi� olacakt�r.�lk �nce rpm -aq | grep imap komutunu deneyin. Gene de ��phede kal�rsan�z daha yeni bir versiyonunu derleyin ve kurun. cyrus ve grup iletisi adl� bir kullan�c� olu�turn,y�kleme talimatlar�n� izleyin ve imap sunucunuzun �al���p �al��mad���n� kontrol edin. Bir kere �al��t�rmay� ba�ard�ktan sonra /etc/pam.d/imap k�sm�n� LDAP Do�rulamas� k�sm�nda g�sterildi�i gibi ayarlay�n.

cyrus ad�nda veya LDAP dizinindeki /etc/imapd.conf k�sm�nda verdi�iniz y�netici ad�yla ayn� ada sahip bir kullan�c� olu�turmak zorundas�n�ze
�rne�in cyrus y�neticinizin ad� "cyrus" ise ldap dizininizde a�a��dakine benzer bir girdi g�receksiniz.


dn: uid=cyrus, ou=admins, o=ispman

cn: Cyrus Admin

sn: Cyrus

objectclass: top

objectclass: systemadmins

uid: cyrus

userpassword: XXDDCCYY

ou: admins                                                                      

Bu girdileri kurulum s�ras�nda ISPMan sizin i�in kendisi olu�turacak.

 

Postfix'in Kurulmas�

Postfix LDAP ile m�kemmel bir uyum i�inde �al���r. Sanal alanad� ve sanal kullan�c�aramalar�n� LDAP i�inden direk olarak yapabilirsiniz. B�ylece hangi sunucudan ileti alaca��n�z� belirtmek zorunda kalmazs�n�z.
�rne�in, e�er "perl.ch" alan�ndan bir ileti gelirse t�m alanadlar�n� tarayarak "perl.ch" adl� bir alanad�n�n olup olmad���na bak�lacakt�r. E�er b�yle bir alanad� var ise "perl.ch i�in g�nderilen Duh MX geri d�nd�" mesaj�n� g�stermek yerine gelen iletiyi kabul edecektir.

benim /etc/postfix/main.cf dizinim �unun gibi g�r�n�yor

 

ISPMan ile kullan�c�lar�n y�netilmesi

ISPMan kullan�c�lar� y�netmeyi kolayla�t�r�r. Bir kullan�c� olu�turmak iki ad�mdan ibarettir:

  1. LDAP veritaban�nda bir girdi olulturmak
  2. IMAP sunucusunda bir posta kutusu olu�turmak
Herhangi bir kullan�c�y� silmekle bu iki ad�mdaki girdileri de otomatik olarak silmi� oluursunuz.

 

Daha fazla makineye b�lme

ISPMan bir kullan�c�n�n posta kutusunu ileti�iftli�inizdeki(mailfarm) herhangi bir makinada olu�turabilmenize olanak sa�lar.�rne�in herbiri 10,000 kullan�c�y� y�neten ileti1, ileti2, ileti3 ileti4 etc leriniz olabilir. LDAP + Postfix + Cyrus ��l�s�n� kullanarak i�teki makinalardan herhangi birine ileti da��tabilirsiniz.
�rne�in [email protected] adresine bir ileti ula��yor olsun, Postfix ldap sunucusuna bu iletiyi [email protected] tan�m�na uyan girdiye g�ndermesini ister, LDAP sunucusu da [email protected] adresine bu iletiyi g�nderir. Gelen ileti de ileti�iftli�inizdeki ilet5 adl� makinaya y�nlendirilir.

Bu aralar birka� i�ini iyi bilen geli�tiriciyle birlikte pop3 ve imap kap�s�(port) �zerindeki ileti sunucusu frontendinde �al��an ve gelen istekleri i� makinalara ileten bir IMAP/pop3 vekili(proxy) �zerinde �al���yorum. B�ylece kullan�c�lar iletilerinin hangi ileti sunucusunda bulundu�unu bilmek yerine sadece mail.developer.ch veya pop.developer.ch gibi bir adres bilecekler.

 

kullan�c�lara web mail sa�lanmas�

IMP kullan�c�lara webmail sunmak i�in �ok kullan��l� bir program.
Merkezi IMP y�klemesi i�in apache'nin httpd.conf k�sm�nda ileti.* diye bir k�saltma olu�turabilirsiniz.

�rne�in a�a��dakiler benim y�klememden

A�a��dakileri y�neten biraz de�i�tirilmi� bir IMP s�r�m� �zerinde �al���yorum.

b�ylece istemcilerinizin kendilerine gelen iletileri basit�e http://mail.their.domain adresine giderek okuyabilmelerine olanak sa�layabilirsiniz

 

Kaynaklar

PAM LDAP Mod�l�
pam_ldap mod�l� Solaris and Linux i� istasyonlar�n�n LDAP dizini i�in do�rulama yapmaya ve dizindeki �ifreleri de�i�tirmeye yarar.
openLDAP
OpenLDAP Projesi sa�lam, ticari y�n� bulunan, tam donan�ml� ve a��k kodlu LDAP uygulamalar� ve geli�tirme ara�lar� geli�tirmek i�in i�birli�i i�inde y�r�t�len bir projedir. Proje interneti haberle�mek, planlamak, OpenLDAP Tak�m�n� geli�tirmek ve onunla ilgili dok�manyasyonu olu�turmak i�in kullanan d�nya �ap�ndaki bir g�n�ll�ler toplulu�u taraf�ndan y�netiliyor.
Postfix
M�kemmel SMTP sunucusu
Cyrus SASL k�t�phanesi ve imapd'si
Cyrus Elektronik �leti Projesi standartlara ba�l� teknolojiler kullanan k���k veya b�y�k yat�r�m �evrelerinde kullan�lmak �zere y�ksek derecede b�l�nebilirli�e sahip bir yat�r�m ileti sistemi geli�tirmeye devam ediyor. Bu proje sayesinde Cyrus teknolojileri k���k departmanlardaki ba��ms�z kullan�mdan b�y�k bir �irkette merkezi olarak y�netilen bir sistem haline d�n��ebilecek.
ISPMan (De�i�toku� katili[Exchange killer])
Bu makalede tan�tt���m ISS y�netim yaz�l�m�
proftpd
G�venli bir ftp sunucusu

 

Bu makale i�in talkback formu

Her makalenin kendine ait bir talkback sayfas� vard�r. Bu sayfaya kendi yorumunuzu sunabilir ya da di�er okuyucular�n yarumlar�n� okuyabilirsiniz:
 talkback sayfas� 

�nternet sayfalar� LinuxFocus Edit�r Tak�m� taraf�ndan y�r�t�lmektedir
© At�f Gaffar
LinuxFocus.org 2000

Bir hatay� bildirmek veyahut Linuxfocus'a yorumunuzu g�ndermek i�in buraya t�klay�n

2000-09-03, lfparser s�r�m 1.8 ile yaz�lm��t�r