burak@unix~$

~bir alkoliğin garip deneyimleri~

Archive for Ağustos 2007

Linux üzerinde Güvenli Kabuk/SSH Kullanımı

without comments

SSH, kullandığınız bilgisayardan başka bir bilgisayara güvenli bir şekilde bağlanmanız sağlar.

Bu program, sizin karşı bilgisayara komutlar vermenizi,dosya transferi yapmanızı sağlar.Güvensiz işlemleride Ssh üzerinden yaparak güvenli hale getirebilirsiniz.Örneğin POP3 iletişimini ssh üzerinden yaparak güvenli hale getirebilirsiniz.Bir iletişimde bazı unsurlar vardır.SSH bu unsurları sağlar.

  • Kimlik Denetimi

  • Bütünlük

  • Şifreleme

 

SSH işlemini Linux/Unix sistemler üzerinde OpenSSH ile kullanıyoruz.Bu paket hemen hemen tüm dağıtımlarda standart olarak gelir.Eğer kurulu değilse paket yöneticinizden kurabilirsiniz.

Hangi sürümü kullandığınızı öğrenmek için ssh -V komutunu vermeniz yeterli.

burak@unix:~$ ssh -V

OpenSSH_4.3p2 Debian-8ubuntu1, OpenSSL 0.9.8c 05 Sep 2006

Kullanım

SSH ile bir bilgisayara ilk kez bağlanıyorsanız bir uyarı alacaksınız.Bu uyarının içeriğinde sunucu kimlik bilgisi yerine geçen rsa anahtarı bilgilerini ekrana basar ve bu bilgileri ~/.ssh/known_hosts dosyasına kaydeder.Bir dahaki bağlantıda karşı bilgisauara ait bazı ilgiler değişmediği sürece bu uyarıyı almayacaksınız.Uyarı şuna benzeyebilir.

 

The authenticity of host ’ssh_sunucu (14.2.7.x)’ can’t be established.
RSA key fingerprint is f3:ce:14:99:d7:19:44:ca:ff:5e:83:b6:79:52:4e:45.
Are you sure you want to continue connecting (yes/no)?yes
Warning: Permanently added ’ssh_sunucu,14.2.7.x’ (RSA) to the list of known hosts.

 

SSH kullanımı bence oldukça basit sadece ssh’ye hedef adını vermeniz yeterli.

ssh host_ismi

Eğer bu şekilde bağlanmaya çalışırsanız bilgisayar sizin o an kullandığınız kullanıcı adınızla karşı bilgisayarda oturum açmaya çalışacaktır.Bunu önüne geçmek için ya @ bağlacı kullanın Ya da -l parametresi.Örneğin:

	$ ssh hesap_ismi@host_ismi 	$ ssh host_ismi -l hesap_ismi

Tüm bunları yaptıktan sonra sizden(eğer yasaklı listesinde değilsek) kullanıcı şifresi isteyecek ve ardından sisteme bağlanacaksınız.

Kaynaklar

http://www.kirbas.com/yazdir.php?id=260

http://e-bergi.com/2007/Agustos/

 

Written by Burak Sezer

Ağustos 23, 2007 at 4:08 pm

Linux kategorisinde yayınlandı

OpenDNS ile yasak tanımayın

ile 5 yorum

WordPress bloglarının Türk mahkemelerince engellenmesinin ardından bloguma erişmekte güçlük çektim.Sadece Pardus’tan erişebiliyordum şuan kullandığım Ubuntu 7.04 şayfayı yükleyemiyordu.Çözüm OpenDNS kullanmaktan geçiyor.

DNS Nedir, ne işe yarar?

Domain Name System baş harflerinin kısaltmasıdır. Diyelim siz adres satırına langturk.com giriyorsunuz ancak bu adresi bilgisayarın anlaması için DNS tarafından sayısal hale çevrilmesi gerekir (207.584.125.478).

Peki openDNS bu aşamada nasıl bir hız kazancı sağlar ve openDNS nedir?

OpenDNS’i bir havuz gibi düşünebilirsiniz, sitelerin adreslerinin bulunduğu bir havuz gibi.

Eğer benim gibi ubuntu kullanıyorsanız.

$ sudo network-adminkomutunu verin.

DNS sekmesine gelin ve eskileri silip yerine şu adresleri verin.

208.67.222.222
208.67.220.220

Daha sonra şu adrese girin.

http://welcome.opendns.com/

Eğer bir hoşgeldiniz ekranı çıktıysa başardık demektir.Eğer bu çözümü yemediyse yada siz ubuntu kullanmıyorsanız şu şekilde yapacağız.

root haklarını alarak /etc/resolv.conf dosyasını açın içini şu şekilde değiştirin

nameserver 208.67.222.222
nameserver 208.67.220.220

kaydedip çıkın.

Artık OpenDNS kullanıyor olmalısınız.Eğer sistemi yeniden başlattığınızda OpenDNS kullanımı son buluyorsa şu metodu deneyin.

/etc/dhcp3/dhclient.conf dosyasını root haklarıyla açın.Ardından

prepend domain……. diye devam eden satırı aşağıdaki gibi yapın.

prepend domain-name-servers 208.67.222.222, 208.67.220.220;

ve şu komuyu verin

sudo /etc/init.d/networking restart

eğer ubuntu kullanıyorsanız şu komutuda verebilirsiniz.

sudo ifdown eth0 && sudo ifup eth0

Written by Burak Sezer

Ağustos 21, 2007 at 2:35 pm

Linux kategorisinde yayınlandı

Unix/Linux Sistemlerde umask Komutu

without comments

umask
####

umask, kisaca ontanimli olarak yeni yaratilacak dosya ve dizinlere olan erisim haklarini almak icin kullanilir, ontanimli hali 022 dir

Daha yakindan bakalim

r-4
w-2
x-1

demistik daha once, peki umask 022 ne anlama geliyor

0 –> kimseden bir hak almiyoruz
2 –> yazma haklarini aliyoruz
4 –> okuma haklarini aliyoruz

Kolay bir method, umask degerinin 000 oldugu durumda

dizin haklari 777
dosya haklari 666 dir

umask degeri 022 ise gerekli izinler nedir ?
dizin haklari icin 777 – 022 = 750
dosya haklari icin 666 – 022 = 644

Bu durumda dosyamizi uclu gruplara bolelim

0 (dosya sahibi)
##########
Bir hak almadigimiz icin dosya sahibi nin;
dosya icin haklari —> rw-
dizin icin haklari —> rwx olacaktir

2 (dosya grubu)
##########
Bu gruba ait kisilerden yazma haklarini ellerinden aliyoruz
dosya icin –> r–
dizin icin –> r-x

2 (digerleri)
#######
Digerleri icin yazma haklarini ellerinden aliyoruz
dosyaicin –> r–
dizin icin –> r-x

Komut olarak kullanimi
##############

Kod:
hakan@haarp ~ $ mkdir umask_klasoru
hakan@haarp ~ $ ls -l | grep umask_klasoru
drwxr-xr-x 2 hakan users 4096 May 11 11:23 umask_klasoru

/home/hakan/ icine umask_klasoru adli bir dizin yarattik, ontanimli umask degerimi 022 idi, buna gore gruptan ve digerlerinden yazma izinlerini aldik, dosya sahibinin izinlerine dokunmadik
olusturuacak yeni
dizinler icin (rwx / r-x / r-x) = 755
dosyalar icin (rw- / r– / r–) = 644

Peki bu klasore “hakan” isimli bir dosya yaratalim, ama ontanimli disina cikalim bunun icin “umask_klasoru” nun icine olusturlacak yeni dosya ve dizinlerin haklarini “umask” komutu ile degistirelim

Konuya gore yeni yaratilacak
dizinler icin –> rwx / r-x / — = 750
dosyalar icin —> rw- / r– / — = 640
istedigimiz izin haklari boyle oylsun

777 – 750 = 027

umask degerimiz 027

Kod:
hakan@haarp ~ $ umask 027 -R umask_klasoru/
hakan@haarp ~ $ touch umask_klasoru/hakan
hakan@haarp ~ $ ls -l umask_klasoru/
toplam 0
-rw-r—– 1 hakan users 0 May 11 11:35 hakan

Pardus Linux Forumlarından Hakan Sönmez’in bir yazısıdır teşekkür ediyorum.

Written by Burak Sezer

Ağustos 17, 2007 at 9:07 am

Linux kategorisinde yayınlandı

Unix/Linux Sistemlerde Dosya İzinleri

without comments

Dosya izinlerini anlamak
Linux de her bir dosyanin bir sahibi bir de grubu bulunur

Kod:
hakan@haarp ~ $ ls -l
toplam 6744
drwxr-xr-x 10 hakan users 4096 May 9 23:43 3rd_party

r – Read (okuma izni)
w – write (yazma izni)
x – Execute (calistirma izni)

hakan —> dosya sahibi
users —> dosyanin grubu

bunlari uclu gruplar halinde uc gruptan olustugunu varsayarak ayiriyoruz

rwx / r-x / r-x

bu dizilime gore ;
ilk uclu –> dosya sahibi izinlerini
ikinci —-> dosyanin grubunda bulunanlarin izinlerini
ucuncu –> digerlerinin izinlerini gosterir

Simdi benim 3rd_party klasorumun yapisina bakalim
d–> dizin oldugunu gosteriyor
ilk uclu —> rwx (okuma, yazma, calistirma) hepsi ne sahip, yani kim hakan isimli kullanici
ikinci uclu –> r-x (okuma yapar, yazma yapamaz, calistirma yapar) kim bunlar, users grubundakiler
ucuncu uclu –> r-x (okuma yapar, yazma yapamaz, calistirma yapar) digerlerinin iznlerini ifade eder

tum bunlarin ikilik duzende kodlandiklarini dusunursek

421 sistemi –> rwx i olusturur
r = 4
w = 2
x = 1

toplamdaki sayi izinlerin gostergesidir

harhangi bir uclu icin 7 demek = 4 [r] + 2 [w] + 1 [x] yani tum izinlere sahip, peki 6 ne demek bu durumda ?

6 = 4 + 2 + 0 (rw-) okuma yazma izinleri varken calistirma izni yok demek
5 = 4 + 0 + 1 (r-x) okuma ve calistirma var, yazma yok
4 = 4 + 0 + 0 (r–) sadece okuma izni
gibi mantik bu sekilde ilerler

harhangi bir dosya veya klasor un iznini degistirmek icin kullanilan komut chmod tur
bir ornek verelim,

Kod:
hakan@haarp ~ $ ls -l
toplam 6744
-rw-r–r– 1 hakan users 0 May 10 01:51 adosya


izinlerin su haldeki durumu
ilk uclu = 4+ 2 + 0 = 6
ikinci uclu = 4 + 0 + 0 = 4
ucuncu uclu = 4 + 0 + 0 = 4
yani yanyana yazarsak 644 olur

Ben bu “users” grubundakilere calistirma ve yazma izni verecegim ne yapmam gerekir ?
Ortadaki ucluyu degistirmeliyim, degil mi ? cunku “users” grubunu bu ikinci uclu ifade ediyordu

chmod —> kullanilacak komut

Kod:
hakan@haarp ~ $ chmod 674 adosya
hakan@haarp ~ $ ls -l
toplam 6744
-rw-rwxr– 1 hakan users 0 May 10 01:51 adosya


bakiniz ikinci uclu (r–) iken (rwx) haline geldi

simdi yakindan bakalim nolmus ?

ilk grup ayni kaldi 6 idi zaten = 4 + 2 + 0 [6]
ikinci grup 4 idi = 4 + 0 + 0, komutta ikinci sayimiz 7 oldu yani 4 + 2 + 1 dedik [7]
ucuncu grubu degistirmedik 4 idi, 4 olarak biraktik [4]

simdi hepsinden tum izinleri alalim sadece dosya sahibine tum izinleri verelim

Kod:
hakan@haarp ~ $ chmod 700 adosya
hakan@haarp ~ $ ls -l
toplam 6744
-rwx—— 1 hakan users 0 May 10 01:51 adosya


gordugunuz uzere sadece “hakan” yani dosya sahibi tum izinlere sahip (7=4 + 2 + 1)

Peki okuma yazma calistirma izinlerini degistirdik, dosyanin sahibini ve grubunu degistirelim

Hali hazirda dosya sahibi “hakan”, grubu ise “users”
Kullanacagimiz komut —-> chown

Kod:
hakan@haarp ~ $ chown root:muzik adosya
-rwx—— 1 root muzik 0 May 10 01:51 adosya


Simdi dosya sahibi “root”, grubu ise “muzik” oldu nasil sizce de kolay degil mi ?

Not :
Tum dosya izinleri bu kadar degil elbette, digerlerini hazirlik asamasindayim, onlari da bu bolumden takip ediniz

Hazirliktaki belge : Sticky (t) yapiskan, SGID (Set Group Identification), SUID (Set User Identification), umask (default file and directory creation)
Üstad Hakan Sönmez’e çok teşekkür ederim bu yazısı için benim için çok faydalı oldu.Umarım sizin işinizede yarar. Konunun forumdaki sayfası

http://forum.pardus-linux.org/viewtopic.php?t=2141

Written by Burak Sezer

Ağustos 17, 2007 at 8:56 am

Linux kategorisinde yayınlandı

Bir Linux Sisteminin Temel Parçaları

without comments

Yaygın inanışın aksine kullandığınız işletim sisteminin adı Linux değildir. Linux sadece çekirdeğin adıdır. Fakat artık işletim sisteminin adı yerine de kullanılıyor.

Ben bu yazıda işletim sistemi adı olarak Unix kullanacağım.

Bir işletim sisteminin görevleri

  • İşlemci yönetimi

  • Bellek Yönetimi

  • Cihaz yönetimi

  • Depolama Yönetimi

  • Uygulama arayüzü

  • Kullanıcı arayüzü

     

Bir Unix türevi işletim sistemi(çekirdeğin adı Linux,GNU/hurd Ya da başka Bir şey olabilir.)çekirdek ve bazı programlardan oluşur. Çekirdek işletimi sisteminin beynidir. Diskteki dosyaları yönetir ,programları başlatır ve yürütür. Programlarla donanım arasında iletişim kurar. Çekirdek işletim sisteminin her şeyidir ama her işi o yapmaz. Sadece programların çalışması için uygun ortam sağlar. Çekirdek tarafından sağlanan bu ortam sistem çağrıları üzerinden kullanılır.

Bilgisayarınız üzerinde çalışan programları ikiye ayıracağım. Sistem programları ve uygulama programları. Bu iki grup arasındaki en önemli fark şudur. Sistem programları işletimi sisteminin çalışması için gerekli programlardır. Mesela mount bir sistem programıdır. Uygulama programları ise günlük işlerinizi halletmek için kulladığınız programlardır. Mesala benim bu yazıyı yazdığım Open Office Writer kaynak bulmak için kullandığım Firefox,bulduğum yazıları net anlamak için kullandığım Stardict ise uygulama programlarıdır. Her iki guruba ait programlarda kullanıcı kipinde yani çekirdeğin en üst bölgesinde çalışırlar.

Unix Türevi bir işletim sisteminin en önemli parçaları

Aslında başlıkta Unix türevi dedim ama tüm işletim sistemi çekirdekleri benzer şekilde çalışırlar.

  • İşlemci yönetimi

  • Bellek Yönetimi

  • Donanım sürücüleri

  • Dosya Sistemi kontrolü

Bu liste dahada uzatılabilir. Çekirdeğin olmazsa olmazları işlemci ve bellek yönetim parçalarıdır(bu parça lafı ne derece doğru bilmiyorum)Bellek yönetim parçası, takas alanını, Ram kullanımını,süreçler ile tampon belleği ayarlar. Süreç yönetimi hayati önem taşır. Linux’u Linux yapan işte bu özelliktir. Süreç yönetimi süreçlari yaratır,işlemcide etkin olan süreçleri değiştirerek çok görevliliği sağlar. Sizde müzik dinlerken Amsn’de arkadaşlarınızla sohbet edersiniz ve K3B arkada sizin için DVD yazmaya devam eder.

Bugüne kadar yüzlerce donanım üretildi. Sizce çekirdek geliştiricileri her donanımı yönetmek için ayrı ayrı kod mu yazıyor? Cevap tabii ki hayır. Donanımların yazılımlar tarafından yönetilen parçaları genellikle benzerdir. Her sürücü(modülde denebilir sanırım) kendi donanımını yönetmek için gereken kodun haricinde çekirdeğin içindeki ortak kodları kullanırlar. Mesela 1990 yılında üretilen bir disket sürücü ile 2002 yılında üretilen disket sürücünün çalışma ilkesi aynıdır. Dolayısı ile bu donanımların çalışması için çekirdekte bulunan kod parçaları aynıdır. Üretici bu iki ürün için ayrı sürücüler üretir fakat bu sürücüler çekirdekteki aynı kod parçasını kullanarak çalışırlar. Umarım anlatabildim.

Written by Burak Sezer

Ağustos 10, 2007 at 7:23 pm

Linux kategorisinde yayınlandı