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-2Yapmak 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(
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 ldapsatı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.soBu 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