Centos ile bir program kurmak istediğimde çoğunlukla rpm i kullanıp programları kursam da bazen acaip dependency işleri ile karşılaşıyorum hemen tabiki yuma geciyorum. Fakat yum da gidip dışardaki sunuculardan paketleri getiriyor. Benim istediğim ise localdeki bir sunucudan çekmesi dosyaları. Hem hızlı olacak hem de güvendiğim kaynaktan olacak.
Bunu yapmak ciddi manada kolay.
İlk önce bir klasör oluşturup (mkdir -p /repo/centos5/) Centos cdsinden tum rpm dosyalar, oluşturulan klasöre kopyalanır.
createrepo -v /repo/centos5 diyerekten centos5 directorysinin altına repodata adlı bir klasör oluşturup yum'un ihtiyac duydugu dosyaları bu komut oluşturur.
filelists.xml.gz other.xml.gz primary.xml.gz repomd.xml
Bu oluşturulan klasörlere http üzerinden erişim verilmesi gerekir. http.conf tan directiveler degistirilir. Bu sunucu üstünde http'yi kullanmadığım için kafama göre takılıp klasörü http nin document root una koyacak şekilde değişiklik yaptım.
DocumentRoot "/repo/centos5/"
Yukarıdaki directivelerde deger olarak /var/www/html vardı. Onun yerine dosyaların bulundugu directory i girdim. Firewall üstünden http erişimini açtıktan sonra. SElinux ayarını yapmak gerekiyor. Websunucu üstünden servisi yapılan dosyaların ve klasörlerin http daemonı tarafından ulaşılabilmesi için http contextlerinin olması gerekir. Bunu ise
chcon -R --reference=/var/www/html/ /repo/centos5/
komutu ile yaparız. Artık http daemonı bu directorye erişebilir.
Şimdi yum.conf ayarlarını yapacagız.
[base]
name=Centos $releasever - $basearch - Base
enabled=1
gpgcheck=1
baseurl=http://xxx.xxx.xxx.xxx
satırları eklerir ve /etc/yum.repos.d klasörü silinir yada daha en iyisi adı değiştirilir.
Artık yumladıgınızda kendi local sunucunuza baglanacaksınız.
Tuesday, October 07, 2008
Wednesday, September 10, 2008
YUM hatası
primary.xml.gz 100% |=========================| 82 kB 00:00
http://helios.imbb.forth.gr/mirrors/centos/5.2/extras/i386/repodata/primary.xml.gz: [Errno -1] Metadata file does not match checksum
Bu hatanın ustesinden gelebilmek için
yum clean all
komutu ile yum'un cachei temizlenir ve sorun çözülür.
Gönderen
funkypunkydrunky
zaman:
1:44 AM
0
yorum
Etiketler: metadata file does not match checksum, yum
Tuesday, May 27, 2008
Autofs örneği
/etc/fstab dosyasını kullanarak açılışta filesystemleri mount ederiz. Ama soyleki nfs üzerinden bir filesystemi mount etmek isteyecek olursak ve herhangi bir sebepten dolayı bu sunucu devre dışıysa boot süresi uzayacaktır. Bunu engellemek elimizde. Mesela kullanıcıların home directorylerini nfs üstünde tutalım. Kullanıcı login oldugu an home directorysi mount olsun. Kullanıcı çıktıktan sonra da unmount etsin. İlk once nfs shared bir home directory oluşturulur. Bunu eski yazılarda bulabilirsiniz.
Autofs i ayarlamak için /etc/auto.master dosyasını editlemek gerekiyor.
/home /etc/auto.map
İlk sutunda otomatik mount edilecek filesystemin localde nereye mount edilecegini belirtiliyoruz. İkinci sutunda ise map yer alıyor. /etc/auto.map in icerigine ise
kullanici_adi -rw,fd=5,pgrp=3737,minproto=2,maxproto=4 10.0.0.2:/home/kullanici_adi şeklindeki satırı koyarsak 10.0.0.2 ipli sunucudan /home/kullanici_adi klasörünü alıp ihtiyac halinde kendi üstündeki /home/kullanici_adi klasöre mount eder.
service autofs restart diyerekten automount servisini tekrardan başlatırız
df komutu verdiğimizde aşağıdaki gibi mount etmek istediğimiz filesystemin mount edilmemiş oldugunu goreceğiz.
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 7099768 5918904 820208 88% /
/dev/sda1 194442 12837 171566 7% /boot
none 257220 0 257220 0% /dev/shm
/dev/sda6 1004024 17720 935300 2% /halil
/dev/sda5 1004024 110524 842496 12% /var
Ama cd /home/kullanici_adi dersek otomatik olarak bu filesystem mount edilecektir.
df komutunun cıktısı aşağıdaki gibidir.
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 7099768 5918904 820208 88% /
/dev/sda1 194442 12837 171566 7% /boot
none 257220 0 257220 0% /dev/shm
/dev/sda6 1004024 17720 935300 2% /halil
/dev/sda5 1004024 110528 842492 12% /var
10.0.0.2:/home/kullanici_adı 1004032 101312 851712 11% /home/kullanici_adi
Monday, May 26, 2008
OPENID NEDİR?
Openid ruzgarı artık rüzgar olmaktan çıktı fırtınaya döndü. Kullanıcı adım neydi şifrem neydi? Bu sorunlar artık yok. Artık web dunyası yeni yetkilendirmeye geçiyor. Şifre devri bitt. Tek yapmanız gereken openid url'nizi submit etmek. Gün geçtikce openid'yi destekleyen sitelerin sayısı çığ gibi büyüyor. Açık bir protokol. Kullanımı basit ama alıştığımızdan cok farklı oldugu icin onyargılar olabilir. Peki sifrenizi girmeden nasıl yetkilendiriyor? Linkteki blogtan aldıgım şekil aslında herseyi acıklıyor. http://blogs.sun.com/bblfish/entry/the_openid_sequence_diagram
Bu akış şemasını özetleyecek olursak kullanıcı openid url sini submit ediyor ve girmek istediği site tarafından openid bilgilerini saklayan openid kimlik sağlayıcısına yonlendiriliyor. Openid kimlik sağlayıcısına kullanıcı adı ve şifresini submit ediyor. Kimlik saglayıcı şifreli token veriyor kullanıcıya ve bunu kullanıcı girmek istediği siteye post ediyor. Girmek istediği site de bu şifreli tokenin yetkilendirilmiş mi diye openid kimlik sağlayıcısına soruyor. Bir sorun olmazsa bu adımlarda kullanıcı yetkilendirilip siteye girebiliyor. Bu hizmeti veren bir çok site var. Bunlardan birisi de blogger. Sizin adınıza openid'niz kullanımınıza hazır ve nazır. Openid'nin çıkış kaynagı olan livejournal.com dan bunun demosunu yapalım.
Sağ üst koşede gorulen openid login seçeneğini seçilir, open id login kutucuguna
blogspot.com da saklanılan openid urlsi girilir.
Karsıma blogspot'un kullanıcı adı ve şifre soran sayfası gelecek ve buraya bloga giris için kullandıgım kullanıcı adı ve şifresini girdikten sonra karşıma onay ekranı gelecek
Bu sayfadan izni verdikten sonra girmek istediğimiz site olan livejournal.com a yönlendirilip login olma işlemini bitireceğiz.
Openid artık alıştığımız yetkilendirme yönteminin tamamen değişmesine sebep olacak. Kullanıcılar kendi openid servis saglayacagısını kurup şifresinin garantisi kendi olacak. Sistemciler single sign on için artık kasmayacak. Şifrelerin unutulması diye birşey kalmayacak. Gelecekte (böyle bir plan hala yok) devletin portallarından vatandasların yararlanması çok kolay olacak. E-devlet e geçişte tüm yetkilendirmelerin openid ile yapılması beklenen birşey olacak.
Wednesday, May 21, 2008
Selinux konusunda araştırma yaparken Selinux ile güvenliği sağlanan bir linux sunucusu gördüm. Amca unix'in sağladığı izinleri kullanmadan sadece Selinux ile bu işlerin yapılabileceğinin demosunu yapmış. Dunyaya açmış sunucuyu root şifresini de veriyor. Hodri meydan diyor bir manada:)Sayfası http://www.coker.com.au/selinux/play.html
Friday, May 16, 2008
Linux'un ve Unixin root u olmanın yaşı ve cinsiyeti yok. Brezilya'dan gelen Monica bunun en güzel örneği. Kadın 48 yaşında ve unix sistem muhendisi. Kendisiyle çok iyi anlaştık. Şimdiye kadar gormemiştim hobiden ote bu işten para kazanan ve mesleğini layıkıyla yapan bir bayan. Düşünüyorumda öğretmenlikten daha çok bir bayana yakışan meslek unix sistem yöneticiliğiymiş. Bayanlara duyurulur.
Tuesday, May 06, 2008
"xhost +" komutuyla diger kullanıcıların baglanmasına izin vermeme ragmen dışardan x baglantısı alamıyordum.
RedHat EL de security sebebiyle x serverlar network uzerınde dinlemiyor. Alınan hata mesajı
Error: Can't open display: xxx.xxx.xxx.xxx
Port 6000'den dinlemesi gerekirken dinlemediğini goruyorsunuz.
ps -ef |grep X denildiği zaman
root 3585 3539 3 May06 ? 01:03:14 /usr/X11R6/bin/X :0 -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp
ile zaten herşey ortaya çıkıyor. X server nolisten posizyonunda. Bu ayarı değiştirmek için
gdmsetup'ı çalıştırmak gerekiyor.
Security tabındakı Always disallow TCP connections to X server seçeneğini seçili durumdan seçili olmayan duruma almak gerekiyor.
Thursday, May 01, 2008
Redhat EL de bir suru daemon var ve bu daemonlar acilista belli bir sira ile aciliyor. Ve sistemin acilis leveline gore rcx.d klasorlerindeki linklerle asil dosyanin gosterdigi yer olan /etc/init.d klasorundeki dosyalar calistiriliyor. Bu rcx.d klasorlerinde sirali bir sekilde calistirmak icin SXdaemon formati kullanilip (X calistirma onceligini gosteriyor) X'in alacagi degere gore ya sonra baslatiyor yada once. Ornek olarak rc5.d directorysinde bulunan S12YYYY daemonu S55WWW daemonundan once calistiriliyor. Eger bir daemonun onceligini degistirecekseniz tum bu rcx.d kalsorlerine girip sembolik linklerle ugrasip adlarini degistirip bu islemi yapmak gerekir. Bunun kurutulusu ise chkconfig komutudur. Onceligi 58 olan ntpd daemonini onceligi 45 e dusurmek istersek chkconfig komutuyla bu islem yapilabilir. Ama burada bagimli oldugu servislerden once calistirmaya calismamakta gerekli. Network servisinden once ntpd calistirmak sacmalik olur. Network ayaga kalkmadan ntpd isimize yaramaz.Bunun icin
/etc/init.d/ntpd dosyasi edit edilir ve
#chkconfig - 58 90
olan satir bulunur ve 58 45 yapilir.
#chkconfig - 45 90
yapildiktan sonra bu satir,
sirasiyla
chkconfig --del ntpd
chkconfig --add ntpd
chkconfig --level 12345 ntpd on
diyerekten istedigimiz prioritye bu daemonu cekmis oluruz.
NFS ile linux makineler arasinda paylasim acmak ve bunu kullanmak cok kolay bir olay. Senaryomuz /home directorylerin paylasilmasi ve network ustunde tutulmasi. Bunun icin ilk once nfs in acilista yuklenip yuklenmedigine bakacagiz.
system-config-services diyerekten nfs i calistiririz. Sonra nfs klasorlerini ustunde tutacak olan linux'un /etc/exports dosyasini edit ederek
/home 192.168.2.0/255.255.255.0(async,no_subtree_check,rw)
satirini ekleriz. Belirttigim network ise baglanmasini istedigim bilgisayarlarin bagli oldugu network. Parantez bitisik network ifadesine yoksa parantez icindeki secenekler bu networkun haricine uygulanir. NFS i bir daha baslatalim degisikligi gorsun diye. Baslattiktan sonra client olarak dusundugunuz bir makinede
mount 192.168.2.8:/home /home
dersek home directorynin ustune baglanip artik 192.168.2.8 ipli bilgisayarin ustundeki nfs klasorunu gormeye baslariz. Bilgisayarin acilislarda bunu otomatik mount etmesini istersek
/etc/fstab dosyasini asagidaki satiri ekleriz.
192.168.2.8:/home /home nfs rw 0 0
Wednesday, April 30, 2008
Virtual linuxler zaman bakimindan geri kaliyordu. Bu yuzden /etc/cron.d/ntp diye bir dosya olusturdum. Bu dosyanin icinede
*/5 * * * * root /etc/init.d/ntpd restart > /dev/null &
satirini koydum ve bes dakikada bir ntp yi tekrardan baslatmasini istedim. Biraz amele bir cozum. Vmware in guest ile hostun saatini sekronize eden vmware tools diye bir zimbirtisi da varmis. Onun la ugrasmaktansa hemen dan dun bu sekilde cozdum.
Gönderen
funkypunkydrunky
zaman:
7:56 AM
0
yorum
Etiketler: ntp, vmware player
Linuxde local accountlardan sikildiniz mi? Windows sifreniz ayri linux sifreniz ayri mi ve bunlarin tek olmasini mi istiyorsunuz? O zaman kerberos authentication tam size gore. Bu calisma Redhat EL4 ustunde yapilmistir. Asagidaki paketlerin yuklu olmasi gerekmektedir. Bunu kontrol edebilmek icin rpm -qa|grep krb5 denmesi yeterli.
krb5-libs-1.3.4-27
pam_krb5-2.1.8-1
krb5-workstation-1.3.4-27
Paketlerin yuklu oldugunu gordukten sonra /etc/krb5.conf dosyasinin degistirip kerberos servisi olarak windows sunucu gosterilir.
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
EXAMPLE.COM= {
kdc = domaincontroller.example.com:88
admin_server = domaincontroller.example.com:749
default_domain = example.com
}
EXAMPLE.COM = {
kdc = 10.0.0.2
}
EXAMPLE.COM = {
}
[domain_realm]
.example.com= EXAMPLE.COM
example.com = EXAMPLE.COM
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
Artik sisteme giriste kerberos sunucusunun kullanmayi saglamak icin tercih edilen authenticationlara kerberosun eklenmesi gerekmektedir. Bunun icin authconfig programi
calistirilip kerberos da secili posizyona getirilir yada asagidaki gibi elle
edit edilerek dosyaya gerekli eklemeler yapilir.
/etc/pam.d/system-auth dosyasini edit ederek
auth sufficient /lib/security/pam_krb5.so try_first_pass
satirini ilk uclu grupta ikinci satira konulur.
Ikinci uclu grubun ilk satirina
auth required /lib/security/pam_krb5.so try_first_pass
satiri konulur.
Bundan sonra ntp server ayarlarinin yapilmasi gerekiyor. Cunku kerborize authenticationda zaman cok onemli bir degisken. Linuxun saatiyle DC serverin saatleri uyusmazsa authenticatin gerceklesmez. Sonra da sadece "adduser windows_kullanici_adiniz" komutuyla kullanicinizi olusturmalisiniz. Kullanici icin sifre girilmesi gerekmez. Artik linuxe windows accountunuzla girebilirsiniz.
Kaynaklar: http://wiki.case.edu/Kerberos/Authentication_on_Linux#Location_of_PAM_Stack
http://barney.gonzaga.edu/~awithers/integration/
Gönderen
funkypunkydrunky
zaman:
6:59 AM
0
yorum
Etiketler: kerberos, linux. windows
Ihtiyac hasil oldu ve sekiz tane virtual linux kurmam gerekti. Bir tanesini vmware de hazirladiktan sonra dosyalari digerlerine kopyaladim. Sekizi de calisti ve sekizi de dhcp den ayni ip`yi aldi. Bunun sebebi dhcp mac adreslerine gore dagitirken ipyi benim makinalarin hepsinin maclerinin ayni olmasi. MAC adresini degistirerek bu dertten kurtulabiliriz.
ifconfig eth0 down
komutu verilerek eth0 down yapilir.
vim /etc/sysconfig/network-scripts/ifcfg-eth0
dosyasini editleyerek
HWADDR=00:0C:29:DF:3F:C8 ekleriz. Daha dogrusu olani yazdigimizla degistiririz.
ifconfig eth0 hw ether 00:0C:29:DF:3F:C8
ile degisikligi uygulariz. Ama reboot durumunda bu bilgi gider. Bu yuzden acilista bu sorunla karsilamamak icin
vim /sbin/ifup
dosyasini editleyerek
ilk satirina
ifconfig eth0 hw ether 00:0C:29:DF:3F:C8
komutunu eklersek bundan sonra yeni macimiz bu olur. Bu degistirmeyi Redhat EL4 te yaptim.
Gönderen
funkypunkydrunky
zaman:
1:47 AM
0
yorum
Etiketler: mac adresi degisikligi, redhat
Wednesday, April 02, 2008
Şirketlerde sadece NTLM authetication kullanan proxylerin arkasından internete çıkmak linux bilgisayarlarda problem yaratmaktadır. Linux bilgisayarlardan bu tip proxyler ile internete çıkarken karşınıza şifre ekranı gelmekte ve bu ekranda microsoft domaine ait kullanıcı adı ve şifre girmenize rağmen bu tip proxyler izin vermemektedir. Çünkü bu pop-up menusunde girdiğiniz kullanıcı adı ve şifre Basic authentication ile gonderilmekte ve ntlm protokolune uygun olmamaktadır. Bu yüzden linuxte kullandığınız firefox'un requestlerini microsoft'un istediği şekle çeviren ara bir proxy'e ihtiyac vardır. Bunun çeşitli örnekleri var. İlki ntlmaps adlı proxy. http://ntlmaps.sourceforge.net/ den indirebileceğiniz python la yazılmış proxy. Basit bir confu var. server.cfg dosyasını değiştirmeniz gerekiyor.
PARENT_PROXY:xxx.xxx.xxx.xxx
PARENT_PROXY_PORT:8080
Ayarı ile bağlanmak istediğiniz proxy'i yazarsınız.
LISTEN_PORT:5865
Bu ayarlada istediğiniz port üzerinden küçük proxy'niz calısır. Firefox'un proxy ayarları kısmına bu bilgileri girip çalışmayan internet bağlantınızı etkin hale getirebilirsiniz. Bu proxy python ile yazıldığı için çok aşırı şekilde sistem kaynağını tüketmekte. Bunun yerine de C ile yazılmış cntlm adlı proxy'i de öneriyorum. Çok hızlı response timeları var ve çok daha az şekilde sistem kaynağı kullanıyor. http://cntlm.sourceforge.net/ indirilebilinir. Yalnız bir tavsiyem var, bu proxy için şifrenizi conf dosyasına yazmayıp "cntlm -I" şeklinde çalıştırıp şifrenizi sormasını sağlayarak çalıştırınız. Her işin başı ve sonu güvenlik...
Thursday, January 03, 2008
Gmail hesabımı karıstırırken gecen sene falan hazırladıgım bir tane odev gozume ilisti. Ogrenci ders kayıt programı diğer arkadasların da menuleri olsa koyardım. Benim dokumanlar var sadece. C++ ile basit dosya okuma ornekleri. Odevin son hali bu olmasa gerek. Yada bu şekilde hic bir odev teslim edilmemeli:)
odevi indirmek istiyorsanız