ACIK KAYNAK
 
*
Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun. Temmuz 04, 2008, 12:57:22 ÖS


Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz



Reklamlar
Sayfa: [1]   Aşağı git
  Yazdır  
Gönderen Konu: OpenLDAP uzerinden Authentication nasıl yapabiliriz.  (Okunma Sayısı 270 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
acikkaynak
Administrator
*
Offline Offline

Mesaj Sayısı: 254



Üyelik Bilgileri
« : Şubat 27, 2008, 12:48:45 ÖS »

   Bazı linux sistemleri ile ilgili problemlerimden dolayı xxxxxxxx mail ile temasa geçtim, problemlerim hakkında bazı sorular sordum kendisine, sağolsun yardımcı oldular, daha sonra mail grublarının olduğunu ve sorularınıza burdan cevap alabilirsiniz tavsiyesinde buldular, bende freebsd mail grubuna üye oldum, Ldap üzerinden unix tabanlı sistemler üzerinden Authentication yapmak istiyordum ve xxxxxxxxx ile aramda geçen mailleşmeler sonucu hedefime vardım, ve benim gibi bunu yapmak isteyenlere kaynak olması düşüncesiyle aramızda geçen diyolgları paylaşmak istiyorum.

Bu işlemlere başlamadan önce şu paketlerin kurulu olmasını tavsiye ediyorum.
 
 openldap-clients-2.3.34-7
 openldap-servers-2.3.34-7
 openldap-2.3.34-7
 openldap-devel-2.3.34-7
 nss_ldap-254-2


Yapmak istediğim “turkiye.server” domaini üzerinden kullanıcılarımızı authentication yapmak, bunun için ilk önce /etc/openldap/slapd.conf dosyasını aşağıda göreceğiniz şekilde düzenledim;

slapd.conf :

#######################################################
database        bdb
suffix            "o=turkiye,c=server"
rootdn          "cn=ottoman,o=turkiye,c=server"
# Cleartext passwords, especially for the rootdn, should
# be avoided.  See slappasswd(Karizmatik and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw                       freebsd
# rootpw                {MD5}4Rxxi5niaxyotF8t9FXHCw==
#######################################################


suffix kısmında  o=turkiye,c=server değitirdim
rootdn                          cn=ottoman,o=turkiye,c=server admin kullanıcımızı belirtik burda dikkat etmeniz
gereken nokta şu bu kullanıcının sistemde hesabı olan bir kullanıcı olması, daha sonra bu kullanıcıya ait ldap parolası belirlememiz gerekiyor bunu ister text olarak isterseniz diğer şifreleme yöntemleri ile de yapabiliriz. Md5 yapmak istersek şu komutu kullanmanız yeterli oluyor “ slappasswd -h {MD5} -s şifreniz”,
rootpw                {MD5}4Rxxi5niaxyotF8t9FXHCw==  şeklinde yazıyorsunuz. Server ayarlamalarında şimdilik bunlar yeterli oluyor ve serverimizi çalıştırıyoruz “/etc/init.d/ldap start” daha sonra kullanıcılarımızı ldap içersine yüklememiz gerekiyor bunun içinde Migration tools unu kullandım normalde ldif dosyaları halinde kendizinizde yükleyebilirsiniz, ama kullanıcılar çok fazla olabileceği durmlarda çok iyi bir araç, kullanmak için öncelikle Migration toolsun kurulduğu dizine gidip migrate_common.ph dosyasında $DEFAULT_BASE = "dc=mydomain,dc=org"; bu satırı kendi domainimize çeviriyoruz
$DEFAULT_BASE = "o=turkiye,c=server"; bundan başka yapmanız gereken aşağıda vereceğim komutları çalıştırmak olacak;

# ./migrate_base.pl > /tmp/base.ldif
# ./migrate_group.pl /etc/group /tmp/group.ldif
# ./migrate_hosts.pl /etc/hosts /tmp/hosts.ldif
# ./migrate_passwd.pl /etc/passwd /tmp/passwd.ldif

oluşan ldif dosyalarını import etmek için
# ldapadd -x -D "o=turkiye,c=server" -W -f <oluşan_ldifler>
bu dosyaları yüklüyoruz. Daha sonra nsswitch.conf dosyamızı düzenlememiz gerekiyor conf dosyası içerisinde
passwd:     files ldap
shadow:     files ldap
group:      files ldap

satırlarını kontrol ediyoruz yoksa olşturuyoruz. Ve benimde mailerle danışarak öğrendiğim ldap.conf dosyamızın yapılandırması. Ldap.conf dosyası ldap ın client bacığıdır burda dikkat edilmesi gereken noktalar şunlar;

“host 127.0.0.1” eğer server aynı sistemde ise yani localde ise
“base o=turkiye,c=server” ldap dizin bilgilerimizi giriyoruz
“binddn cn=ottoman,o=turkiye,c=server” root kullanıcımız
“bindpw freebsd” root şifresi
“scope sub”
“bind_timelimit 5” sisteminize göre ayarlanabilir
“bind_policy soft”
“uri ldap://127.0.0.1/”

bu kısımlarnı düzenlemeniz yeterli.
Ve son conf dosyamızıda düzenleyelim /etc/pam.d/ altında
system-auth dosyamız burda küçük bir ekleme yapıyoruz

session    required     pam_limits.so
session    required     pam_unix.so
#Creates the home directories if they do not exist
session    required     pam_mkhomedir.so skel=/etc/skel/ umask=0022
session    optional     pam_ldap.so


Bu satırı eklememizin sebebi ise başka bir unix sisteme login olurken kullanıcı adı ve şifremizi kabul etsede sistemde home/ altında dizinimiz olmadığı için bunu oluşturması için bu komutu yazıyoruz yoksa sisteme giriş yapamazsınız.

Notlar :

Sisteminizde çok fazla geçikmeli açılışlar oluşursa syslog dan loglarınıza bakın sebebi orda yazacaktır birde /etc/hosts.allow dosyanızıda kontrol edin. Yukarıdada belirttiğim gibi sisteme login olurken giriş hatası alırsanız pam ile ilgili yukarıda yazdıklarıma tekrar bakın. Ldifleri yüklerken problem yaşarsanız -x parametresi kullanarak denemeye çalışın birde yazım hatalarınada dikkat etmek gerekiyor vim tarzı bir editörle hataları gösterebilecek bir editör kullanmanızı tavsiye ederim. Başka bir unix sistemden açılış yaparken ldap.conf da tanımlanışsa o sistemdeki kullanıcı ları liste halinde göremeye bilirsiniz.

u.cakmakci@yahoo.com
« Son Düzenleme: Şubat 28, 2008, 10:08:53 ÖÖ Gönderen: acikkaynak » Logged
Sayfa: [1]   Yukarı git
  Yazdır  
 
Gitmek istediğiniz yer:  


[Basit Gorunum]

MySQL ile Güçlendirildi PHP ile Güçlendirildi Powered by SMF 1.1.5 | SMF © 2006, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks


acikkaynak
XHTML 1.0 Geçerli! CSS Geçerli! Dilber MC Theme by HarzeM