Skip to content

Instantly share code, notes, and snippets.

@sayz
Created October 20, 2010 13:48
Show Gist options
  • Save sayz/636432 to your computer and use it in GitHub Desktop.
Save sayz/636432 to your computer and use it in GitHub Desktop.
Ahmet GÜRBÜZ
1-10.Agustos.2010 - Linux Yaz Kampi
Isik Universitesi - Sile/Istanbul
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://liste.ctis.bilkent.edu.tr/Linux/Books/
http://www.enderunix.org/docs/
akgulxx@gmail.com
################################# 01.08.2010 #################################
Alt+F2 gnome-terminal veya xterm
bin çalistirilabilir scriptler
sbin sistem yonetimi ile iligili dosyalar/komutlar
dev donanim ile baglantili dosyalar
boot boot dosyalahttp://www.enderunix.org/docs/ri
home kullanicilar
etc konfigürasyon dosyalari
var degisken (variable) dosyalar
root root kullanicisinin dosyalari
usr kullanicilara hitap eden dosyalar
mnt mount klasörü
media usb bellek gibi cihazlarin baglandigi klasor.
sys
USB Flash Bellek takildiginda, ttyUSB0 -> /dev/sdb1 -> /media/disk
cat abc.txt ve tac abc.txt :)
ls -F -> F parametresi ile listenizdekirin dizin mi yada hangi tür bir dosya oldugu hakkinda bilgi sahibi olabilirsiniz.
script 1.gun.sabah.log ->http://liste.ctis.bilkent.edu.tr/Linux/Books/ bu komut sonrasi girilen komutlar ve çiktilari
belirtilen dosyaya yazilir.
apropos abc -> abc verisini man sayfalarinda arar
which abc -> abc komutu veya calistirilabilir dosya benim path'imde var mi, nerde
whereis wget -> içinde wget geçen dosyalarin listesi
locate wget -> içinde wget geçen dosyalarin listesi (daha ayrintili)
pwd -> printworkingdirectory
Ctrl+C -> islemi durdur
Ctrl+D -> komut satirina gec ama islem arka planda devam etsin
cp -a -> dosyayi kendi sahiplikleri ile kopyala.
cd komutu ayri bir program degildir bash icerisinde bulunur. alias, pwd... da oyle. which cd komutu cikti gostermez!
rm -i -> silmeden once sileyim mi diye sorar.
shred -> dosyayi geri kurtarilamayacak sekilde sil.
mkdir -p a/b/c -> b ve c klasorleri olmasa bile alt klasorler ile beraber olusturur.
Ctrl+A -> yazailan/gorulen komutun en basina gitme.
Ctrl+E -> yazailan/gorulen komutun en sonuna gitme.
Ctrl+P -> yukar? ok tusu/bir onceki komutu getir.
Ctrl+N -> asagi ok tusu/bir sonraki komutu getir.
Ctrl+L -> clear
Ctrl+D -> logout
Ctrl+R -> kullanilan gecmis komutlar icerisinde arama yapar.
Ctrl+W -> (Alt+Backspace) sola kelime kelime silme
Alt+D -> saga kelime kelime silme
Ctrl+D -> delete tusu islevi
Ctrl+ -> backspace tusu islevi
du -> disk usage
du -sh /var -> /var klasorunun toplam boyutunu verir.
df -> disk free
find / -name "h*conf" -> dosya ismi h ile baslayip conf ile biten dosyalar? bulur.
find / -type d -> sadece dizinleri gosterir.
find / -type f -> sadece dosyalari gosterir.
find / -type d -name "*conf" -> isminde conf gecen klasorleri bulur.
find / -type d -name "*conf" -maxdepth 3 -> 3 klasor alta in
-mtime -> modified time
-ctime -> dosyanin ozelliklerinin time
-atime -> accessed time
find / -ctime -2 -> son 2 gun icerisinde degistirilen dosyalar
find / -ctime +2 -> son 2 gunden daha once degistirilen dosyalar (son 2 gun haric)
0 standart girdi (klavye)
1 standart c?kt? (ekran)
2 standart hata (ekran)
find /etc -name *conf 2>1.txt -> hata mesajlarini 1.txt'ye gonderir.
find /etc -name *conf 2>/dev/null -> hata mesajlarini karadelige atar.
find /etc -name *conf >/dev/null -> sadece hata mesajlari ekrana verir.
ls -l >/dev/null 2>&1 -> ciktiyi null a gonder, 2'yide 1 nereye gidiyorsa oraya gonder. bu komut sonrasi ekranda hic
birsey gorulmez.
du -h /etc/ >dosya.txt 2>hata.txt -> ciktiyi dosya.txt ye hatalari hata.txt ye gonderir.
du -h /etc/ >dosya.txt 2>&1 -> ciktiyi dosya.txt ye hatalari hata.txt ye gonderir. yukaridaki komut ile ayni isi yapar.
du -h /etc/ 2>&1 >dosya.txt -> Yanlis
du -h /etc/ >dosya.txt 2>&1 -> Dogru
strace ls 2>debug.txt -> hatalari debug.txt ye gonderiyor.
wc (word count) (satir kelime harf olarak cikti verir)
wc -l -> satirlari say
| -> pipe "komut1 | komut2" komut1 in ciktisini komut2 ye girdi olarak verir.
find /etc -type d | wc -l -> etc dizinin altinda toplam kac alt klasor oldugunu gosterir.
find /etc -type d -exec ls -al '{}' \; -> find /etc -type d komut ciktisinin her bir satiri icin ls -al komutunu calistirir. '{}'
her bir arama sonucu demek. \; -exec'den sonra yazilan komutun bittigini belirtir.
find /usr/share -name "*.txt" -exec cp '{}' ./ \; txt uzant?l? dosyalari bularak komutun calistirildigi dizine kopyalar.
head -100 allkeys.txt | tail -20 -> allkeys.txt dosyasinin ilk 100 satirinin son 20 satirini goruntuler.
grep -i Added *.txt -> txt uzantili dosyalar icerisinde added gecen (kucuk buyuk harf farketmez) satirleri goster.
grep -l -i Added *.txt -> txt uzantili dosyalar icerisinde added gecen (kucuk buyuk harf farketmez) dosylari goster.
################################# 01.08.2010 #################################
Alt+F2 gnome-terminal veya xterm
bin çalistirilabilir scriptler
sbin sistem dosyalari
dev donanim ile baglantili dosyalar
boot boot dosyalari
home kullanicilarhttp://liste.ctis.bilkent.edu.tr/Linux/Books/
etc konfigürasyon dosyalari
var degisken (variable) dosyalar
root root kullanicisinin dosyalari
usr kullanicilara hitap eden dosyalar
mnt mount klasörü
sys
USB Flash Bellek takildiginda, ttyUSB0 -> /dev/sdb1 -> /media/disk
cat abc.txt ve tac abc.txt :)
ls -F -> F parametresi ile listenizdekirin dizin mi yada hangi tür bir dosya oldugu hakkinda bilgi sahibi olabilirsiniz.
script 1.gun.sabah.log -> bu komut sonrasi girilen komutlar ve çiktilari belirtilen dosyaya yazilir.
apropos abc -> abc verisini man sayfalarinda arar
which abc -> abc komutu veya cal?st?r?labilir dosya benim path'imde var mi, nerde
whereis wget -> içinde wget geçen dosyalarin listesi
locate wget -> içinde wget geçen dosyalarin listesi (daha ayrintili)
pwd -> printworkingdirectory
Ctrl+C -> islemi durdur
Ctrl+Z -> komut satirina gec ama islem arka planda devam etsin
cp -a -> dosyayi kendi sahiplikleri ile kopyala.
cd komutu ayri bir program degildir bash icerisinde bulunur. alias, pwd... da oyle. which cd komutu cikti gostermez!
rm -i -> silmeden once sileyim mi diye sorar.
shred -> dosyayi geri kurtarilamayacak sekilde sil.
mkdir -p a/b/c -> b ve c klasorleri olmasa bile alt klasorler ile beraber olusturur.
Ctrl+A -> yazailan/gorulen komutun en basina gitme.
Ctrl+E -> yazailan/gorulen komutun en sonuna gitme.
Ctrl+P -> yukar? ok tusu/bir onceki komutu getir.
Ctrl+N -> asagi ok tusu/bir sonraki komutu getir.
Ctrl+L -> clear
Ctrl+D -> logout
Ctrl+R -> kullanilan gecmis komutlar icerisinde arama yapar.
Ctrl+W -> (Alt+Backspace) sola kelime kelime silme
Alt+D -> saga kelime kelime silme
Ctrl+D -> delete tusu islevi
Ctrl+ -> backspace tusu islevi
du -> disk usage
du -sh /var -> /var klasorunun toplam boyutunu verir.
df -> disk free
find / -name "h*conf" -> dosya ismi h ile baslayip conf ile biten dosyalar? bulur.
find / -type d -> sadece dizinleri gosterir.
find / -type f -> sadece dosyalari gosterir.
find / -type d -name "*conf" -> isminde conf gecen klasorleri bulur.
find / -type d -name "*conf" -maxdepth 3 -> 3 klasor alta in
-mtime -> modified time
-ctime -> dosyanin ozelliklerinin time
-atime -> accessed time
find / -ctime -2 -> son 2 gun icerisinde degistirilen dosyalar
find / -ctime +2 -> son 2 gunden daha once degistirilen dosyalar (son 2 gun haric)
0 standart girdi (klavye)
1 standart c?kt? (ekran)
2 standart hata (ekran)
find /etc -name *conf 2>1.txt -> hata mesajlarini 1.txt'ye gonderir.
find /etc -name *conf 2>/dev/null -> hata mesajlarini karadelige atar.
find /etc -name *conf >/dev/null -> sadece hata mesajlari ekrana verir.
ls -l >/dev/null 2>&1 -> ciktiyi null a gonder, 2'yide 1 nereye gidiyorsa oraya gonder. bu komut sonrasi ekranda hic
birsey gorulmez.
du -h /etc/ >dosya.txt 2>hata.txt -> ciktiyi dosya.txt ye hatalari hata.txt ye gonderir.
du -h /etc/ >dosya.txt 2>&1 -> ciktiyi dosya.txt ye hatalari hata.txt ye gonderir. yukaridaki komut ile ayni isi yapar.
du -h /etc/ 2>&1 >dosya.txt -> Yanlis
du -h /etc/ >dosya.txt 2>&1 -> Dogru
strace ls 2>debug.txt -> hatalari debug.txt ye gonderiyor.
wc (word count) (satir kelime harf olarak cikti verir)
wc -l -> satirlari say
| -> pipe "komut1 | komut2" komut1 in ciktisini komut2 ye girdi olarak verir.
find /etc -type d | wc -l -> etc dizinin altinda toplam kac alt klasor oldugunu gosterir.
find /etc -type d -exec ls -al '{}' \; -> find /etc -type d komut ciktisinin her bir satiri icin ls -al komutunu calistirir. '{}'
her bir arama sonucu demek. \; -exec'den sonra yazilan komutun bittigini belirtir.
http://www.enderunix.org/docs/
find /usr/share -name "*.txt" -exec cp '{}' ./ \; txt uzant?l? dosyalari bularak komutun calistirildigi dizine kopyalar.
head -100 allkeys.txt | tail -20 -> allkeys.txt dosyasinin ilk 100 satirinin son 20 satirini goruntuler.
grep -i Added *.txt -> txt uzantili dosyalar icerisinde added gecen (kucuk buyuk harf farketmez) satirleri goster.
grep -l -i Added *.txt -> txt uzantili dosyalar icerisinde added gecen (kucuk buyuk harf farketmez) dosylari goster.
grep -i ^Added *.txt -> satirin basinda added olan satirlari goster
grep "^$" *.txt | wc -l -> txt uzantili dosyalarda bos satir sayisini verir.
grep "in a" *.txt | wc -l -> txt uzantili dosyalarda icerisinde "in a" gecen satir sayisini verir.
ls [x-z]* -> x,y,z ile baslayan dosyalari listeler.
ls [x,y,z]* -> x,y,z ile baslayan dosyalari listeler.
ls *[0-9] -> rakam ile biten dosyalari listeler.
find . -> bulunan dizin ve alt dizinlerdeki tum dosya ve disinleri gosterir. (dir/s gibi)
sed s/benim/senin/ dosya.txt > dosya2.txt -> dosya.txt dosyas?ndaki "benim"ler "senin" olarak de?i?tirilir ve dosya2.txt
ye yazilir.
sed s/deneme/mustafa/g dosya.txt -> g ile satir sonuna kadar tum deneme kelimelerini arar ve mustafa ile degistirir. g
olmazzsa ilk deneme mustafa ile degistirilir ve diger satira gecilir.
wget -r -np -m -nH adres (recursive, no p...?, mirror(linkleri lokallestirir))
################################# 02.08.2010 #################################
rsync -av kaynak hedef
tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.
tar -tvf archive.tar
# List all files in archive.tar verbosely.
tar -xf archive.tar
# Extract all files from archive.tar.
tar cf - . | (cd /tmp/Yedek; tar xf - ) -> - standart output anlamina geliyor. ???
gzip kaynak -> cikti kaynak.gz dosyasi olacaktir.
bzip2 kaynak -> cikti kaynak.bz2 dosyasi olacaktir.
file dosyaismi -> dosyan?n ne tur bir dosya oldugunu gosterir.
"$@" komut sonrasi girilen tum argumanlar. (bknz. cat /bin/gunzip)
time tar cf archive.tar kaynak -> tar isleminin suresini gosterir.
time sleep 2
find /usr/share/doc -name "*txt" -print -exec tar cf /tmp/Alltext.tar '{}' \; 2>/dev/null
history -> kullanilan komut gecmisi
awk -option 'awkscript' input
awk -F: '{ print $7 }' /etc/passwd -> -F: ayirac olarak : yi dikkate al.
awk '/bash/' /etc/passwd
awk -F: '/false/ { print }' /etc/passwd
awk -F: '/bin\/false/ { print }' /etc/passwd
awk -F: '$7 ~ /false/ { print $1}' /etc/passwd -> 7. sutunu false olanlarin 1. sutunlarini yaz.
awk -F: '$1 ~ /^[a-h].*[e-m]$/ { print $1, "\t", $5, "\t", $6, "\t", $7 }' /etc/passwd
dpkg-reconfigure locales -> dil degisimi (/etc/defaults/locale dosyasinda degisiklik yapar)
dpkg-reconfigure console-data -> klavye degisimi
xrandr -> monitorun destekledigi cozunurlukleri gosterir.
hwinfo --framebuffer (aptitude search hwinfo)
/etc/passwd -> kullanicilarin, kullanici adlari, kullanici numaralari, ev dizinleri
kllanici adi:x:kullanici id:kullanicinin gurup id'si:kullanicinin grubu:ev dizini:kullanici default kabuk
HASH isleminde girdi ayni ise hash sonucu daima aynidir. ama hash fonksiyonunda Onetime Salt (karistirici) kullanilir
boylece ayni girdi icin farkli sonuclar elde edilir. salt'i isletim sistemi tutar.
eskiden yukaridaki x yerine hashlenmis sifre bulunurdu, guvenli degildi o nedenle sifreleri /etc/shadow'a tasidilar.
shadow dosyasina sadece sifre ile ilgili programlar ulasabilir.
/etc/shadow
kullanici adi:sifre:sifrenin ne kadar gecerlilik suresi
sifre bolumunde ! varsa o kullanici giris yapamaz. (yasakli kullanici)
sifre bolumunde * varsa o kullanici adi icin sifre tanimli degildir.
sifre bolumundeki * veya hash'li veri silinirse o kullanici sifresiz girebilir.
root sifresi unutuldu ise sudo yetkisi olan bir kullanici ile root sifresi degistirilebilir. ve shadow dosyasinda root icin 1. :
ile 2. : aras?ndaki veriler silinir.
adduser -> kullanici ekleme. (adduser useradd'den daha yeni ve kullanisli)
adduser abc root -> abc kullanicisini root gurubuna ekledi. Bu komut sonrasi abc kullanicisi /etc/shadow dosyasini
okuyabilir.
passwd -> sifre degistirme. (passwd kullanici_adi)
1440x900
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/sda3 ro quiet vga=869
Acilista hangi modda acilacagi /etc/inittab dosyas?nda belirtilir (runlevel) default 2'dir (id:2:initdefault:). /etc/rc2.d/
icerisinde S30gdm (-> ../init.d/gdm) dosyasi silinerek (veya isim degisikligi) ile acilista xwindow'un calismasi
engellenebilir.
xwindow startx ile degil /init.d/gdm ile calistirilmali.
root:root dosyanin_sahibi:gurup
ls -l ciktisindaki ilk karaekterlerin anlamlari:
d dizin
c karakter aygiti
s soket
l link
- dosya
b?
s?
xxx(sahip_izinleri)xxx(grup_izinleri)xxx(geri_kalan)
r okuma
w yazma
x calistirma
chmod
chown
chgrp
/etc/group dosyasinda guruplar tutular.
grup_adi:x:grup_id:1.grup_uyesi,2.grup_uyesi...
addgroup
live-magic paketi ile live USB olusturulabilir.
chown sahip:grup dosya
normal kullanicilar dosyalarin sahiplerini ve gruplarini degistiremez. bu jak sadece root'a aittir.
chmod u (user) +r -r +w -w +x -x (Or: chmod u+x deneme.txt) (chmod ugo-rwx deneme.txt -> :))
g (group)
o (other)
r-4
w-2
x-1
chmod 777 deneme.txt = chmod ugo+rwx deneme.txt
dizinler icin r - ls ile listeleme, w - dosya olusturma ve silme, x - o klasore cd ile erisebilme yetkisidir.
yetkisi rwxr-x--- olan bir klasor altinda bulunan 777 yetkili bir dosyayi bile other kullanicilar goremez/yazamaz.
find /etc/ -perm -o+r -> diger kullanicilarin okuyabildigi dosyalari bul.
bir dosyanin mutlaka bir sahibi ve grubu olmak zorunda ve her dosyanin sadece bir sahibi bir grubu olabilir.
addgroup sysadmin
adduser cse sysadmin
adduser erdem sysadmin
/etc/shadow dosyasinda ...:/bin/false olan kullanicilar login olamaz. (ssh de yapamaz.)
chmod -R 700 /home/abc/* -> /home/abc/ altindaki herseyin (recursive) yetkisi 700 olur.
/etc/adduser.conf icerisinde DIR_MODE=0755 satiri degistirilerek adduser komutu ile eklenen kullanicilarin ev
dizinlerinin default yetkileri degistirilebilir.
/etc/profile icerisinde umask 022 satiri degistirilerek kullanicilarin olusturdugu dosyalarin defaul yetkileri belirlenebilir.
umask hangi yetkilerin olmayacagini belirler. 6'den cikarilarak bulunur.
umask komutu ile tanimli deger gorulebilir.
################################# 03.08.2010 #################################
su (switch user)
su - kullanici_adi (default user: root)
sudo -> sonrasindaki komutu root yetkisi ile calistirir. sudo kullaciya kendi sifresini sorar.
sudo cp /etc/passwd /usr
visudo -> sudo kullanicilarini ayarlama. (/etc/sudoers.tmp)
/etc/sudoers dosyasinda;
cse ALL=(ALL) ALL -> cse kullanicisi icin her yerden tum komutlari calistirma yetkisini verir.
cse ALL=(ALL) /usr/sbin/adduser, /usr/sbin/deluser -> cse kullanici icin sadece adduser ve deluser komutlari icin
yetki verir.
cse ALL=NOPASSWD: ALL -> cse kullanicisi icin tum komutlar icin sifre sormadan yetki verme.
cse ALL=(ALL) /usr/bin/nano /etc/passwd
%wheel ALL=NOPASSWD: ALL -> whell gurubu için sifre sormadan sudo yetkisi.
(ilk 'ALL=' her yerden demek.)
/ tusu ile man sayfalarinda arama yapilabilir. N ileri, n geri
sudo bir program, diger linux dagitimlarinda kurulabilir.
sudo komutu calistiktan sonra sifre dogru girildi ise 10dk. boyunca yeni sudo komutlari icin sifre sormaz.
echo $DISPLAY
xhost + 10.42.0.60 -> bu ip ye benim makinaya (10.42.0.80) xeyes ile baglanmasi icin izin verdik.
export DISPLAY=10.42.0.80:0.0
export DISPLAY=:0.0 -> ekrana cikti verir.
asagidaki komutun calisabilmesi icin ilk once yukaridaki komut verilmeli.
gksu synaptic -> synaptic komutunu grafik arayuzu ile acar. normalde synaptic komutu calistirildiginda DISPLAY
hatasi verir. ((synaptic:3420): Gtk-WARNING **: cannot open display:)
gksu ve gksudo su ve sudo kumutlarinin grafik arayuzde sifre sorar.
/sbin/ifconfig
/etc/shadow dosyasinda :/bin/false olan kullanicilar login olamaz ve kullanici ssh yapamaz. :bin/false ile
:/usr/sbin/nologin ayni isi yapiyor.
"ssh cse@10.42.0.80" ile "ssh 10.42.0.80 -l cse" ayni isi yapar
cse:x:1000:1000:cse,,,:/home/cse:/usr/sbin/nano -> cse login oldugunda sadece nano calisir.
cse:x:1000:1000:cse,,,:/home/cse:/home/cse/deneme.sh -> cse login oldugunda deneme.sh calisir.
scp cse@10.42.0.80:/usr/bin/dene ./ -> scp kaynak hedef
scp cse@10.42.0.80:/usr/bin/dene abc@10.42.0.180:/home/abc -> olmaz !!!
ssh -X cse@10.42.0.80 -> X Forwarding'i acarak baglan.
ssh -x cse@10.42.0.80 -> X Forwarding acik ise kapatarak baglan.
Cygwin/X -> windows icin xwindow
Ctrl+Alt+Backspace -> xwindow'u
aptitude install vino -> bilgisayarda vino kurulu ise vncviewer ile baglanilabilir.
vncviewer 10.42.0.80 -> uzak masaustune baglan.
rdesktop IP -> Windows makinalara uzakmasaustu baglantisi icin kullanilir.
1) Local Tunnel
2) Remote Tunnel
Asagidaki her iki komut A makinasinda calisiyor. Sirasi ile A - C - B makinalari var. A'dan B'ye direk erisim yok, arada
C uzerinden tunelleme yapiliyor.
1) ssh -L A:2222:B:22 C -> A makinasinin 2222 nolu porttan B makinasinin 22 nolu portuna baglan arada C makinasini
kullan. (-L local tunnel)
2) ssh -R B:2222:A:22 C -> B makinasinin 2222 nolu portunu kullanarak A makinasinin 22 nolu portuna baglan arada
C makinasini kullan. (-T local tunnel)
ssh -L 10.42.0.79:2222:10.42.0.80:22 10.42.0.78
1) Local Tunnel
i) ssh -L kendiIPniz:2222:ulasmakistediginizIP:22 aramakina
ii) ssh -p 2222 kendiIPniz
*****************************************
ssh -L 10.42.0.52:5555:193.140.136.232:3389 agurbuz@193.140.136.17 -> komutu gul3 uzerinden kendi makinama
remote desktop yapmami sagladi.
yukaridaki komut sonrasinda gul3'e login olduktan sonra ayri bir terminalde rdesktop'u calistirdik;
rdesktop 10.42.0.52:5555 -> tataaa... :)
bu baglantida 10.42.0.52 ile 193.140.136.17 arasinda olan iletisim ssh uzerinden oldugu icin guvenli ama
193.140.136.17 ile 193.140.136.232 arasinda olan iletisim ssh uzerinden olmadigi icin guvenli degildir.
*****************************************
Topology: A(192.168.1.2) <--> 192.168.1.1-B(FW)-139.179.1.5:2222 <--> C
A'dan C'ye yapabiliyor ama C'den A'ya ssh yapamiyorsak;
A makinasinda -> ssh -R 139.179.1.5:2222:192.168.1.2:22 kullanici_adi@139.179.1.5
C makinasinda -> ssh -p 2222 193.179.1.5
Gereksinimler: B'de ssh-server kurulu olmali ve 2222 nolu disardan gelen istekleri kabul etmeli. A'da ssh-client olmali.
C'de ssh-client olmali.
*****************************************
A:Windows
B(FW):Windows
E:Linux
C:Linux
D:Linux
Amac E'den A'ya ulasmak;
1.Yontem
C'de -> ssh -R B:33389:A:3389 user@C
E'de -> ssh -p 33389 user@B
2.Yontem
D'de -> ssh -R B:33389:A:3389 user@C
E'de -> ssh -p 33389 user@B
Gereksinimler: C'de ssh-server, D ve E'de ssh-client olmali.
*****************************************
less /etc/services -> Port'lar (hangi programlar hangi port'ta tanimli)
screen
screen -ls -> calisan screen'leri listeler.
screen -r 5066.pts-0.debian -> 5066.pts-0.debian oturumuna kaldigi yerden devam eder. ???
screen -x 5066.pts-0.debian -> birden fazla oturuma devam edilebilir. ???
Ctrl+A sonra Ctrl+D -> detach yapar. ???
screen ile birden fazla kisi ayni ayda ayni terminali kullanabiliyor.
screen'e mutlaka bak, cok guzel ve mutlaka ogrenilmeli ve kullanilmali...!!!!!!!
GRUB
Boot Loader (Onyukleyici) MBR'de bulunuyor.
GRUB bir boot loader.
Windows boot loader linux baslatamaz ama GRUB windows baslatabilir.
grub ilk olarak /boot/grub/menu.lst dosyasini okur ve icindeki ayarlara bakar.
initrd ile tanimlanan img dosya icerisinde sadece grub'un ihtiyac duydugu programlar bulunur. (initramdisk imaji)
chainloader +1 -> diger isletim sistemlerinin acilmasi icin gerekli olan satir.
menu.lst de yapilan degisikliklerin aktif olabilmesi icin update-grup calistirilmali.
grub enter
root (hd0,2)
setup (hd0) -> hd0'in MBR'ina grub'u yazar.
setup (hd0,1) -> hd0 1. partitionunun boot sectorune (aslinda 2. (0,1)) grub'u yazar.
quit -> grub'dan cikis.
grub-install /dev/sda -> grub'u sda'in MBR'sine kurar.
menu.lst icerisine asagidaki satirlar eklenerek alt menu olusturulabilir.
title Diger Menu lst
config /boot/grub/menu2.lst
default 0 -> default hangi isletim sisteminden acilacagi.
grub acilis ekraninda e'ye bas sonra c'ye bas
find /boot/grub/stage1
root (hd0,2) -> istenilen partition secilir.
kernel /vmlinuz ro root=/dev/sd3 -> kok dizinindeki vmlinuz sembolik linki gosterilir.
initrd /initrd.img -> kok dizinindeki initrd.img sembolik linki gosterilir.
boot -> sistemi yeniden baslatir.
dd if=/dev/sda of=/dev/sdb bs=512 count=1
Eger bilgisayarimizda CD-ROM yoksa USB(dev/sdb)'ye mbr'i yedekliyoruz.
dd komutuna hangi diskten okuyacagimi soyluyorum.
dd if=/dev/sda(mbr'i nerden okuyacagim) of=dev/sdb(yazilacak yer) bs=512 (block size) count=1(kaç tane 512
okuyacagim)
USB'den boot edip grubu yukleyebiliriz.
dd if=/dev/sdb(mbr'i usb'den okuyacagim) of=dev/sda(yazilacak yer) bs=512 (block size) count=1(kaç tane 512
okuyacagim)
kernel ilk once device'lari yukler sonra /sbin/init programini calistirir.
init programi /etc/inittab da tanimlanan calisma seviyelerine gore islem yapar.
0 - halt
1 - single
2..5 - normal seviye
6 - reboot
/etc/rc0.d ... rc1.d -> run level'lerde calisacak veya stop edilecek pr?gramlara sembolik linkler bulunur.
S ile baslayanlar Start
K ile baslayanlar Kill (Stop)
run level'e girilirken S'ler cikarken K'lar calisiyor.
Or: Kapanirken run_level 2'den run_level 0'gecis olur. Ilk once rc2.d'deki K'lar sonra rc0.d'deki S'ler calisir.
Or: Acilirken run_level 0'den run_level 2'gecis olur. Ilk once rc0.d'deki K'lar sonra rc2.d'deki S'ler calisir.
ln -s hedef_dosya/klasor sembolic_link_name
crontab -e
m minute
h saat
dom day of mounth
mon mounth (hangi ay)
dow day of week
# m h dom mon
0 12 1 1 1
0 12 1 1 *
0 12 * 1 1
* * * * *
15 * * * *
*/15 * * * *
dow command
komut -> Ocak ayinin 1. gunu pazartesi ise(!) 12:00'da calis.
komut -> Ocak ayinin 1. gunu 12:00'da calis.
komut -> Ocak ayinin ilk pazartesi gunu 12:00'da
komut -> her dakika
komut -> her 15 gece
komut -> her 15 dk. da bir
5 0 *
0 0 0
0 0 *
* */6 *
*/15 */6 *
* *
* *
* 0
* *
* *
komut -> her gun 00:05 te
komut -> her ayin 1. gunu saat 00:00'da
komut -> her pazar saat 00:00'da
komut -> her 6 saatte bir
komut -> her 6 saatte bir 15 gece
crontab -e edit
crontab -l list
crontab -r remove
crontab -r -u cse -> cse'nin crontabi'ni siler.
/etc/rc.local -> acilis esnasinda en son calistirilan dosya
/usr/sbin/update-rc.d - run_level'lara ekleme cikarma yapmak icin kullanilan komut.
Process (Surec) -> calistirilan programin ramdeki kopyasi.
ls -a /proc - process listesi
l -l /proc/3997/cmdline -> 3997 ID'li (PID) process hangi komutla calistirilmis?
ps (parametre yok): sadece o bash'te calisan processleri listeler.
ps -a : tum kullanicilarin tum processleri.
-u : hangi kullanici calistirmis bilgisi
-f : her bir processi hangi process baslatmis
-x : komut satirinda ne yazilmis onu gosteriyor (execute)
top -b -> top kere calisir tum islemlerin listesini verir.
top komutunda shift+O ile siralama neye gore yapiliyor gorulur/degistirilir.
kill -> calismakta olan processlere sinyal (isletim sistemi programlar ile bu sinyaller ile haberlesiyor) gondermeye yarar.
sinyaller: TERM (15) (Terminate, isini en kisa surede bitir ve mumkun oldugu kadar guvenli cik), KILL (9) (hemen
cik), USR (yeniden baslat), STOP (calismaya ara ver), CONT (ara verdiysen devam et)
man signals -> sinyaller hakkinda bilgi
kill -TERM PID = kill -15 PID -> verilen PID'ye sahip programa TERM sinyali gondererek guvenli bir sekilde
kapatilmasini saglar.
top komutu calisirken k harfine basilarak PID girilerek istenen program sonlandirilabilir.
xkill : grafik aryuz ile calisip donan bir programi sonlandirmak icin kullanilabilir.
gnome-panel
################################# 04.08.2010 #################################
GRUB 512 B'tan buyuk bu nedenle MBR'ye sigmiyor bu nedenle stage'lere bolunmus. Bu stage'ler /boot/grub icinde
bulunur. GRUB MBR'den baslayip bu stagler'i okuyarak devam eder. Bu stage'ler silinirse (veya bu stage'lerin oldugu
partition silinirse) MBR'da bulunan kod stage dosyalarini bulamadigi icin sistemi acamaz. stage'lrin bulundugu partition
(sda1) silindiginde sda2 den (Or sda2 de Centos var) boot edebilmek icin asagidaki islemi yapmak gerekir;
grub acilis ekraninda e'ye bas sonra c'ye bas
find /boot/grub/stage1
root (hd0,1) -> istenilen partition secilir.
kernel /vmlinuz ro root=/dev/sda2 -> kok dizinindeki vmlinuz sembolik linki gosterilir.
initrd /initrd.img -> kok dizinindeki initrd.img sembolik linki gosterilir.
boot -> sistemi yeniden baslatir.
Linux boot Diger (Or:Windows)
---------- ------------------
root
root
kernel
initrd
chainloader +1
Sisteme ikinci bir linux kurulumu yapildi ve bu linux icin grub kurulumu root dizinine yapildi ise MBR'daki grub'a
chainloader +1 yine eklenmeli. Cunku 2. linux isletim sisteminin kendi grub'u kendi root dizinine kurulur. chainloader
+1 parametresi ile grub'dan ikinci bir grub'a gecis yapilir. Grub diger boot loader'lari yukleyebilme yetenegine sahip.
aptitude
deb http://ftp.linux.org.tr/debian/ lenny main
main
ana paket deposu.
contrib baska kisiler tarafindan gelistirilen paketler.
non-free GPL olmayan paketler.
deb http://security.debian.org/ lenny/updates main -> update paketlerinin oldugu depo.
deb http://ftp.linux.org.tr/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
main contrib non-free parametreleri ayni satir sonuna eklenebiliyor.
apt-get update -> yukarida belirtilen depolardan veritabanini gunceller.
apt-cache search -> veritabaninda arama yapma. paketlerin sistemde kurulu olup olmadigini gostermez.
apt-cache show amanda-client -> amanda-client paketi hakkinda bilgiler.
apt-get install paket_adi -> paket kurulumu.
apt-get remove paket_adi -> paketin kaldirilmasi. bu komut kaldirilan paketin conf dosyalarini silmiyor. kaldirilan paket
yeniden kuruldugunda eski conf dosyalari ile (eski ayarlardan) devam edilebilir.
apt-get autoremove -> Ihtiyac olmayan paketlerin kaldirilmasi.
apt-get purge paket_adi -> paketin conf dosyalari ile beraber kaldirilmasi.
apt-get upgrade paket_adi-> guncelleme
aptitude search paket_adi
aptitude install paket_adi
aptitude remove paket_adi
aptitude puge paket_adi
aptitude update
aptitude upgrade paket_adi
aptitude safe-upgrade -> update edebiliyorsan et ama update isleminde baska bir paketi kaldirmak gerekiyorsa upgrade
yapma.
sadece aptitude komutu calistirilarak gelen arayuzden + ve - tuslari ile install ve remove islemi yapilabilir.
p kurulu degil
i kurulu
c remove edilmis purge edilmemis
v
NETWORK
-------
1)Aplication (Program)
--------------------
HttpGet / Veri (Dataa)
2)Protocol (TCP/UDP)
---------------------
TCP: Sekans no
UDP: Paket no
3)Network (IP)
-------------------
Kaynak IP
Hedef IP
4)Data Link (Ethernet)
--------------------
Fiziksel Adres (MAC Address)
5)Physical
-------------------
Sinyaller
0.0.0.0 genel broadcast
127.0.0.1 local loopback
169.x.x.x
|
192.168.x.x
|_> Non Routable Addresses (Yerel Ag'da kullanilan adresler)
10.x.x.x
|
172.16,17,18.x.x |
Classfull Network
11.x.x.x - 126.x.x.x / 255.0.0.0 A Class (254 tane B Class)
128.x.x.x - 191.x.x.x / 255.255.0.0 B Class (254 tane C Class)
193.x.x.x - 224.x.x.x / 255.255.255.0 C Class (254 IP)
0xxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx -> A Class
10xxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx -> B Class
110xxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx -> C Class
192.168.0.0 Network adi
192.168.0.255 Broadcast adresi
192.168.0.1 - 192.168.0.254 = 254 IP
Classless Network
VLSM (Variable Lenght Subnet Mask
24 25 26 27 28 29 30 31 -> Netmask
256 128 64 32 16 8 4 2 -> Kac IP
1 2 4 8 16 32 64 128 -> Kac blok
128 192 224 240 248 252 (Yukaridaki sutun anlamsiz, her gurupta sadece 2 IP var) -> Netmask
192.168.0.0/24 = 192.168.0.0/255.255.255.0
140.150.160.0/24 ve 140.150.161.0/24 IP guruplarimiz olsun,
72 - Muh, 64 - Egt, 60 - Fed, 32 - x, 18 - y
Subnet Mask
Network Address
Broadcast Address
140.150.160.0 /25(255.255.255.128) 140.150.160.0
140.150.160.127 - Muh (128 IP)
140.150.160.128/25(255.255.255.128) 140.150.160.128
140.150.160.255 - Fed (128 IP)
ifconfig -a -> tüm ag kartlarini listeleme
ifconfig kart ipadresi -> Netmask'i kendi hesaplar.
ifconfig eth0 10.42.0.52 netmask 255.255.255.0 -> Netmask'i biz verdik.
route -> mevcut routign tablosunu verir. kernel routing tablosuna bakarak uyusan ilk kurali yapar.
* -> default
default -> default gateway
route add -net 10.45.1.0/24 gw 10.45.1.1
route del -net 10.45.1.0/24 gw 10.45.1.1
route add default gw 10.45.1.1
route del default gw 10.45.1.1
dhclient eth0 -> eth0 icin otomatik ip almak. DHCP server'in IP'sini ogrenmek icin kullanilabilir.
iwconfig -> wireless ag kartlarini yapilandirmak icin
iwconfig wlan0 essid WDBIM
iwconfig wlan0 enc WDBIM -> sifreli aglar icin
iwconfig wlan0 up
dhclient wlan0
iwlist wlan0 scanning -> aglari tarama
aptitude install wireless-tools -> iwlist, iwconfig, komutlarini sisteme ekler.
/etc/network/interfaces dosyasinda her acilista IP adreslerinin ne olacagi ayarlanabilir.
iface eth0 inet static
address 10.42.0.52
netmask 255.255.255.0
gateway 10.42.0.1
hwaddress kjdhkahdkahdk -> MAC adresini degistirmek icin girilmeli.
ifconfig eth0 hw ether yeni_mac_adresi -> MAC adresini degistirme komutu.
ifconfig eth0:1 x.x.x.x -> makinaya birden fazla ip atamak icin kullanilir.
ifdown eth0 -> /etc/network/ifdown/ icerisindeki betikler calisir
ifup eth0 -> /etc/network/ifup/ icerisindeki betikler calisir
netstat -> bilgisyarinizdaki portlar ile bilgi alma.
netstat -l -> acik olan portlari listesi
netstat -n -> rakamlara gore cikti
netstat -p -> program (process bilgisi)
-t -> sadece TCP'ler
-u -> sadece UDP'ler
netstat -nlp seklinde de kullanilabilir.
jobs
Ctrl+Z -> isi durdurur.
fg %1 -> 1 numarali isi ...
bg %1 -> 1 numarali isi backgraund a atar ???
mail -s "konu_basligi" cse@isikun.edu.tr < /dev/null
mail -s "...." cse@isikun.edu.tr < /dosya_adi
env -> cere degiskenleri.
echo $PATH
echo $HOME
export PATH=.:$home/bin:$PATH:/opt/bin
$0 programin adi
$1 1.parametre
... max 9 adet olabilir.
$*, $@ tüm argumanlar
$# kac tane arguman var
$$ PID
$? bir onceki isin basarili olup olmadigi
$! arka plandaki islerle ilgili ???
argumanlar bir satira sigmiyorsa \ karekteri ile bir sonraki satirdan devam edilebilir.
#!/bin/bash
echo -n "Enter Input: "
read line
echo -n "You entered: $line "
echo -n "Enter another line: "
read word1 word2 word3
echo "The first word: $word1"
echo "The second word: $word2"
echo "The third word: $word3"
exit 0
http://www.network-science.de/ascii/
RSA Algorithm -> http://www.di-mgt.com.au/rsa_alg.html
http://liste.ctis.bilkent.edu.tr/courses/357/CTIS357-Fall2009-RSA-DH.pdf
################################# 05.08.2010 #################################
BASH PROGRAMLAMA
tr -d '%' -> stringdeki % isaretini atar
tr '%' 'a' -> stringdeki % isaretini 'a' ile degistirir.
cut komutu ile de stringler uzerinde islem yapilabilir.
~~~~~~~~~~~~~~~~~~~~~~~~~~
#!/bin/bash
for disk_usage in $(df -Th | awk '{print $6}' | grep -v Use | tr -d '%')
do
echo "Disk_Usage: $disk_usage"
if [ $disk_usage -gt "40" ]; then
echo 'Disk dolu'
mail -s "Disk dolu" ebayer@bayer.gen.tr << X
Sunucu uzerindeki disk dolu. Derhal mudahele edin.
X
fi
done
exit 0
~~~~~~~~~~~~~~~~~~~~~~~~~~
(Debian) /etc/bash.bashrc = (Slackware) /etc/profile
set | grep HIST
HISTSIZE=5000 -> 5000 satir history. -> herkes icin etkin olabilmesi icin /etc/bash.bashrc dosyasina eklenmeli.
udev -> device'lari olusturan dosya. Acilista calisir, USB disk takildiginda calisir.
~~~~~~~~~~~~~~~~~~~~~~~~~~
#!/bin/bash
for disk_usage in $(df -Th | awk '{print $1,"X",$6}' |grep \/dev\/ |sed 's/%//' | sed 's/ //g')
do
echo "Disk_Usage: $disk_usage"
set -- $( echo "$disk_usage" |sed 's/X/ /' )
disk=$1
kullanim=$2
echo $disk $kullanim
if [ "$kullanim" -gt "40" ]; then
mail -s "$disk dolu" cse <<X
Sunucu üzerindeki $disk adli disk $kullan?m kadar dolu. Derhal mudahale edin.
X
fi
done
exit 0
~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~
#!/bin/sh
df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output;
do
echo $output
usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 )
partition=$(echo $output | awk '{ print $2 }' )
if [ $usep -ge 90 ]; then
echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" |
mail -s "Alert: Almost out of disk space $usep%" you@somewhere.com
fi
done
~~~~~~~~~~~~~~~~~~~~~~~~~~
Tunnelling
A (Client), B (Sunucu), C (Tunnel yapan aradaki makina)
ssh -L sunucu:2222:sunucu:22 -> baglanilmak istenen sunucu uzerinde bu komut girilir. (Or: gul3(B) (C'de gul3 olmus
oldu.)
ssh -p 2222 sunucu -> Client (A) uzerinde yazilarak B'ye baglanilir.
~~~~~~~~~~~~~~~~~~~~~~~~~~
mkdir -p /yedek/`date+%F`/
find / -size +10M -exec mv '{}' /yedek/`date+%F`/ \; -> 10MB'den buyuk olan dosyalari /yedek/`date+%F`/ e tasi.
0 0 * * * /home/cse/test_du.sh > /dev/null 2>$1
EDITOR="/usr/bin/pico" ; export EDITOR
unset EDITOR
find /home -type f -iname "*.mp[34]" -delete -> -type f:sadece file (klasorleri dikkate alma), -iname:kucuk buyuk harf
ayrimi yapma, [34]:3 veya 4
file dosya_adi -> doyanin ne tur bir dosya oldugunu gosterir. mp3 dosyalarini silmek icin dosyalari file komutu ile
kontrol etmek uzantisi degistirilmis icerigi tespit etmek icin kullanilabilir.
file komutu ile dep paketlerini bulan betik:
~~~~~~~~~~~~~~~~~~~~~~~~~~
#!/bin/bash
for files in $(find /home/cse -type f)
do
out=$(file "$files")
#echo $out
if [ $(echo "$out"|grep 'Debian binary package'|wc -l) -gt 0 ]
then
echo "$files bir Deb dosyasi"
fi
done
~~~~~~~~~~~~~~~~~~~~~~~~~~
bash calistiginda calistirilan programlar:
/etc/bash.bashrc (Grafik arayuzde bash calistirildiginda calisir.)
/etc/.bashrc
(Grafik arayuzde bash calistirildiginda calisir.)
/etc/profile
(Cron'da bash calistirildiginda calisir.)
/hoe/cse/.profile (Cron'da bash calistirildiginda calisir.)
set komutu bash'in kullandigi tun degiskenleri listeler.
export komutu ile degiskene yeni deger atanabilir.
unset komutu ile degisken silinir.
PS1 komutu komut satirinin solunda gorulen ifade.
echo $OLDPWD -> Bir once geldigin dizin neresi.
cd - : Bir once geldigin dizine geri don.
exit 0 -> programin sonucunu 0 yapar
echo $? -> bir onceki programin basarili bir sekilde calisip calismadigi.
cp /etc/passwd /etc/home/cse -> bunun ciktisi 0 olur cunku cse passwd'yi okur
cp /etc/shadoe /etc/home/cse -> bunun ciktisi 1 olur cunku cse shadow'u okuyamaz
PIPESTATUS -> pipe ile birden fazla komut kullanilmis ise hepsinin $? ciktisi.
$HISTFILE -> history dosyasi tanimlama.
DNS
---
SOA Start of authority (Master DNS makinasinin IP'si ne)
NS
Name server
A
IP numarasi (Makina_adi --> IP)
MX mail exchange
CNAME nickname
Primary (Master)
Secondary (Slave) -> Periodik olarak Primary'den bilgileri gunceller.
http://liste.ctis.bilkent.edu.tr/courses/156/db.yurttas
;
;
LOCALHOST file for aras
;
Mustafa Akgul Jan. 28 1994
;
$TTL 86400
@
IN
SOA
akgul.bilkent.edu.tr. akgul.bilkent.edu.tr.
1999081500 (
; Serial (yyyymmhhvv (vv [00...99] burakam ile
21600 Refresh every
7200 Retry every
604800 Expire after
604800 ) Minimum
;86400 ) Minimum
slave master'da guncelleme olmus mu anlar)
;
;
;
;
;
;
;
;
;
IN
IN
IN
IN
IN
A 139.179.10.17
NS akgul.bilkent.edu.tr.
NS admin.bilkent.edu.tr.
NS mercan.cmpe.boun.edu.tr.
MX 10 sunsite.bilkent.edu.tr.
3
hour
a
ttl
ttl
hours
week
of
of
1
1
day
day
; IN MX
IN MX
30
50
; IN CNAME
www
yurttas.depremsg.org.
mugla.bcc.bilkent.edu.tr.
sunsite.bcc.bilkent.edu.tr.
apt-get install bind9 bind9-host dnsutils -> bind kurulumu
/etc/bind/named.conf.local
--------------------------
zone "agurbuz.com.tr"
{
type master;
file "db.ag";
}
--------------------------
/var/cache/bind/db.ag
---------------------
;
;
LOCALHOST file for aras
;
Mustafa Akgul Jan. 28 1994
;
$TTL 86400
@
IN
SOA
debian.isikun.edu.tr.
2010080500
;
21600
;
7200
;
86400
;
3600
)
;
;86400 )
;
ag.isikun.edu.tr.
Serial
Refresh every
Retry every
Expire after
Minimum
Minimum
(
3
hour
a
ttl
ttl
hours
week
of
of
1
1
day
day
;
IN
;
www
web
video
ftp
turiz.satis
satis
IN
IN
IN
MX
A
NS
NS
30
10.42.0.52
debian.cse.isikun.edu.tr.
admin.bilkent.edu.tr.
firat.bcc.bilkent.edu.tr.
IN CNAME
IN sunsite.bcc.bilkent.edu.tr.
IN A
IN 10.42.0.52
IN CNAME
IN www.youtube.com.
IN A
IN 193.140.80.100
A
139.179.20.100
NS
turizm.satis
NS
akgul.bilkent.edu.tr.
MX
10 sunsite.bilkent.edu.tr.
---------------------
/etc/init.d/bind9 restart
dig @localhost -t SOA agurbuz.com.tr
################################# 06.08.2010 #################################
Necdet YUCEl (necdetyucel@gmail.com)
SANALLASTIRMA
ntp.ulakbim.gov.tr
Sanal makinalarada kullanilan toplam CPU core sayisi fiziksel toplam core sayisindan fazla olabilirken RAM'de bu
esneklik yok. Sanal makinalara atanan toplam RAM, toplam fiziksel RAM'in uzerinde olamaz.
ubuntu public cloud (http://www.ubuntu.com/cloud/public)
heartbeat -> high availibity yazilimi
http://www.google.com.tr/search?hl=tr&&sa=X&ei=U9ZbTP-
1L5qVOLPqxLYP&ved=0CCQQBSgA&q=heartbeat+high+availibity&spell=1
Converting .rpm Packages To Debian/Ubuntu .deb Format With Alien
http://www.howtoforge.com/converting_rpm_to_deb_with_alien
http://docs.comu.edu.tr/
http://docs.comu.edu.tr/howto/ipv6-howto-basics-looklike.html
fe80: ile baslayan ipv6'lar local netwprklerde kullaniliyor. (192.168.... gibi)
www.ipv6.org.tr
http://linuxipv6.blogspot.com/
-------------------------------------------------------------------------
http://liste.ctis.bilkent.edu.tr/Linux/Books/linux-sistem-yonetimi.pdf
dpkg -i paket_adi.deb -> komutu ile kurulumda dpkg bagimlilik kontrol etmiyor.!!!
dpkg --remove paket_adi -> remove
dpkg --purge paket_adi -> purge
configure -> kurulacak bilgisayarin ayarlarini inceleyerek paketin kurulumunu bilgisayara gore ayarlar.
./configure -> bilgisayarda configure adinda baska bir komut olabilir. ./configure diyerek bulundugum klasordeki
configure'i calistir diyoruz.
make
sudo make install
make clean -> ./configure komutunun olusturdugu dosyalari siler. ./configure komutu hic kullanilmamis gibi olur.
./configure --prefix /jhhkj/df/ --bin
./configure ve make komutunun calistirildigi ve kaynak kodun oldugu klasor silinmez ise o klasorde sudo make
uninstall komutu calistirilarak kaldirilabilir.
rsync -v akgul@liste.ctis.bilkent.edu.tr:/home/akgul/Depo .
aptitude install build-essential -> Kaynak koddan derleme yapildiginda ihtiyac duyulacak programlarin tamamini kuran
paket. (Or: make komutunun ihtiyac duyacagi bagimli paketleri kurar.)
/usr/local/ -> kaynak koddan kurulan paketlerin dosyalari buraya yaziliyor.
Alt+F2 -> Baslat - Calistir :) xterm yazilarak terminal baslatilabilir
htop -> top komutunun gelismisi. aptitude install htop
Kernel Derleme
--------------
kernel'i indirip /tmp icine bir klasore ac
make proper
make config
make xconfig -> x window arayuz
make gconfig -> gtk arayuz
make menuconfig -> text tabanli menulu arayuz
yukaridaki komutlar ile .config dosyasi olusturulur.
make all komutu ile kernel derlenir.
&& -> and islemi Or: make && date -> make komutu hata vermezse date'i calistir.
|| -> or islemi Or: make || date -> make komutu hata verirse date'i calistir. (Or: Bash scriptte make || exit dersek make
hata verirse scriptten cikilir vermezse bir alt satirdaki komut calismaya devam eder.)
make modules -> sadece modulleri derler.
moduller /lib/modules/kernel_numarasi altinda bulunur.
kernel derleme sonrasi vmlinux dosyasi /boot altina atilmali ve grub (menu.lst ve grub-install) update edilmeli. Ayrica
yeni moduller /lib/modules altina atilmali.
make modules_install -> modulleri ilgili yere kopyalar.
moduller kullanilan kernel numarasi ile (uname -a ile ogrenilebilir) ayni isme sahip /lib/kernel_numarasi/ altinda olmak
zorunda.
mkinitramfs ile mkinit.rd dosyasi olusturulur.
sudo mkinitramfs -o /boot/initrd.img-2.6.35 2.6.35 -> /boot/initrd.img-2.6.35 dosyasini olusturur.
promiscius mode (ethernet kartlarinin trafigini gosterebilme ozelligi)
tcpdump -i eth0
tcpdump -n -i eth0 -> -n ile DNS cozumlemesi yapmaz.
tcpdump -v -i eth0 -> -v ile daha fazla bilgi. (-vv daha daha fazla bilgi)
tcpdump -i any -> her ag kartina gelen giden paketler. ama sadece hedefi veya kaynaginda kendi ip'im olan paketler
gorulur. (Promiscuous mode not supported oldugundan)
wireshark -> tcpdump'in isini yapiyor daha kullanisli.
tcpdump -i eth0 -w tcpdump.out -> wireshark ile okunabilir tcpdump.out dosyasini olusturur.
iptraf
tcpdump'da filtreleme secenekleri var. man sayfasinda
tcpdump src IP_no -> kaynak IP'si verilen paketleri goster
tcpdump dst IP_no -> hedef IP'si verilen paketleri goster
tcpdump port 80
tcpdump src port 80
tcpdump src 10.42.0.80 port 80 and port 80
tcpdump src 10.42.0.80 port 80 or port 80
iftop
traceroute
################################# 07.08.2010 #################################
Doruk F??EK (www.fisek.com.tr)
www.apache.org
httpd.apache.org
istemci html sayfasini indirerek satir satir islameye baslar ve html kodlarda belirtilen icerigi (dosyalari) web sunucudan
sirayla indirir.
DirectoryIndex -> ozel bir dosya istenmemis ise defaul hangi dosyanin gonderilecegi belirler. (index.html, index.php...)
htm -> dos'ta extention max. 3 karekter oldugu icin html'nin l'si gitmis.
StartServers -> her bir istek icin yeni bir apache servisi baslar. max kac tame apache servisinin (apache process'i)
calisacagini belirleyen parametre.
MinSpareServers/MaxSpareServers ->
Timeout/KeepAlive -> KeepAlive (Kullanici ile bir baglanti kuruldugunda baglanti 15sn canli tutulur cunku bu sürede
html sayfa kodu istemci tarafindan islenerek dosys talepleri olur.)
html, Javascript, Flash, Java Applet'leri... bunlar istemcide derlenir ve calistirilir.
PHP,ASP,JSP,PERL,SSI,CGI... bunlar sunucuda derlenir ve calistirilir, cikti ise web sayfasi olarak istemciye gonderilir.
GET metodu -> istekler (Or:form verileri) adres satirindan gonderilir. (Or: www.google.com)
POST metodu -> gonderilen/alian veriler adres satirindan degil ayri bir paket olarak gonderilir. Ciplak gozle gorulmez.
Session (Oturum) -> her kullaniciya (istemciye) farki bir session numarasi verir ve iletisim esnasinda bu session
numarasi alip gonderilerek kullanici ile ilgili islemler bu numara uzerinden yapilir. session numarasi olusturulduktan
sonra tekrar tekrar kullanici adi parola girilmesine grek kalmaz.
Cookie (Cerez) -> istemci bilgisayara sureli dosyalar kaydedilir ve bu dosylardaki bilgilere gore islem yapilir.
https -> SSL ile sifrelenmis sayfalar.
SSL sifreleme isleminde istemci de ve sunucu da opnssl kutuphanesini kullanir.
/etc/apache2/ -> apache ayar dosyalarinin bulundugu klasor.
httpd.conf -> apache ayar dosyasinin ismi. (debian da /etc/apache2/apache2.conf)
server uzeirinde islemciden cok RAM onemlidir. takas alanina dustugun anda sistem inanilmaz yavaslar.
bellek doldugunda (RAM+swam) linux bellekte en cok yer isgal eden proccesi otomatikman durdurur ve ayakta kalir,
tabi durdurulan servisi yeniden baslatmak gerekir.
/etc/apache2/envvars -> apache'nin hangi kullanici ve gurup ile calisacaginin tanimlandigi dosya.
ErrorLog /var/log/apache2/error.log -> apache'nin log dosyasini tanimlayan eden satir.
/var/log/apache2/access.log -> erisim loglari.
HostnameLookups Off -> access.log da gelen IP'lerin DNS cozumlemesini yapar, Off olmasi iyidir, surekli DNS'e
(reverse DNS mi???) sorgu yollamaz.
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
---
dizini listelemek icin o dizinde x yetki olmali, dizinin icindeki bir doyayi okumak icin okunacak dosyanin r yetkisinde
olmasi yeterli.
---
webalizer -> istatistik amacli log analiz programi. (guvenlik amacli deil).
MYSQL
-----
/etc/mysql/my.cnf -> MySQL konfigurasyon dosyasi.
aptitude install mysql-server-5.0
aptitude install phpmyadmin
http://127.0.0.1/phpmyadmin/
/etc/apache2/conf.d/phpmyadmin.conf --> /etc/phpmyadmin/apache.conf -> phpmyadmin'in conf dosyasi.
mysqldump -p --all-databases -> mysql'i yedekleme. (mysql calisirken calistirilmali.)
mysqldump -p --all-databases > /root/mysqlyedegi.dump
yukaridaki yedek dosyasi (mysqlyedegi.dump) phpmyadmin'de impport menusunden geri yuklenebilir.
/etc/php5/apache2/php.ini -> PHP config dosyasi.
################################# 08.08.2010 #################################
################################# 09.08.2010 #################################
agurbuz.com.tr'yi DNS uzerinde tanimlama www ve web virtualhost'lari olusturma:
/etc/bind/named.conf.local icerisinde bir zone tanimlanir; (named.conf.local -> bind'in kendi lokalinde olan adresleri
sorgularken bakacagi dosya. Lokalinde olmayan adres sorgulari icin /etc/bind/db.root dosyasinda belirtilen IP'lere sorgu
gonderir.)
------------------------
zone "agurbuz.com.tr"
{
type master;
file "db.ag";
}
------------------------
/var/cache/bind/db.ag dosyasinda www ve web sayfalari icin apache calisan server gosterilir. Burada web sunucu kendi
makinamiz oldugu icin kendi IP'mizi girdik;
------------------------
;
;
LOCALHOST file for aras
;
Mustafa Akgul Jan. 28 1994
;
$TTL 86400
@
IN
SOA
debian.isikun.edu.tr.
2010080500
;
21600
;
7200
;
86400
;
3600
)
;
;86400 )
;
ag.isikun.edu.tr.
Serial
Refresh every
Retry every
Expire after
Minimum
Minimum
;
IN
;
www
web
video
IN
IN
IN
MX
A
NS
NS
30
10.42.0.52
debian.cse.isikun.edu.tr.
admin.bilkent.edu.tr.
firat.bcc.bilkent.edu.tr.
IN A
IN 10.42.0.52
IN A
10.42.0.52
CNAME
www.youtube.com.
(
3
hour
a
ttl
ttl
hours
week
of
of
1
1
day
day
ftp
turiz.satis
satis
IN
IN
IN
IN
IN
A
A
NS
NS
MX
193.140.80.100
139.179.20.100
turizm.satis
akgul.bilkent.edu.tr.
10 sunsite.bilkent.edu.tr.
------------------------
/etc/apache2/sites-enabled/www dosyasi olusturularak virtualhost'lar tanimlanir;
------------------------
<VirtualHost *:80>
ServerName www.agurbuz.com.tr
#ServerAlias cse.isik.com
DocumentRoot /var/www/www
ErrorLog /var/log/apache2/agurbuz-www-error.log
CustomLog /var/log/apache2/agurbuz-www-access.log combined
</VirtualHost>
------------------------
/etc/apache2/sites-enabled/web dosyasi olusturularak virtualhost'lar tanimlanir;
------------------------
<VirtualHost *:80>
ServerName web.agurbuz.com.tr
#ServerAlias cse.isik.com
DocumentRoot /var/www/web
ErrorLog /var/log/apache2/agurbuz-web-error.log
CustomLog /var/log/apache2/agurbuz-web-access.log combined
</VirtualHost>
------------------------
Kendi makinamizin DNS sorgularini kendi makinamiza yonlendirmek icin (kendi makinamiz ayni zamanda DNS server
olarak calisiyor.) /etc/resolv.conf dosyasi asagidaki gibi degistirilir;
------------------------
### BEGIN INFO
#
# Modified_by: NetworkManager
# Process:
/usr/bin/NetworkManager
# Process_id: 2991
#
### END INFO
domain cse.isik.com
search cse.isik.com
nameserver 10.42.0.52
------------------------
/etc/hosts dosyasi altinda tanimlanan adresler icin DNS sorgusu gonderilmez.
------------------------
127.0.0.1
localhost
127.0.1.1
debian.cse.isik.com
debian
# web.akgul.com.tr www.akgul.com.tr adreslerinin IP'sini biz belirttik. youtube IP'leri de girilebilir.
10.42.0.80
web.akgul.com.tr www.akgul.com.tr
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
------------------------
nmap -sP 10.42.0.0/24 -> UP olan makinalari gosterir.
nmap -n -sP 10.42.0.0/24 -> isim cozumleme ile ugrasma.
nmap -v -sP 10.42.0.0/24 -> UP ve DOWN olan makinalari gosterir.
nmap -vv -sP 10.42.0.0/24 -> Daha ayrintili liste.
nmap -d -sP 10.42.0.0/24 -> Daha ayrintili Debug ciktisi.
nmap -sT 10.42.0.1 -> 10.42.0.1 makinasinin acik olan TCP portlarini gosterir.
3-way handshake (a ve b makinasinin connect olmasi icin ilk yapilan islem. nmap -sT'nin yaptigi islem bu. Bu yontemle
yapilan islemler loglanir.)
a - sync -> b
b - sync-ack -> a
b - ack -> a
nmap -sS 10.42.0.1 -> 10.42.0.1 makinasinin acik olan TCP portlarini gosterir. Loglanmaz.
3-way handshake (a ve b makinasinin connect olmasi icin ilk yapilan islem. nmap -sS'nin yaptigi islem bu. Bu yontemle
yapilan islemler loglanmaz.)
a - sync -> b
b - sync-ack -> a
b - reset -> a
nmap -A -sS 10.42.0.1 -> o makinada hangi programlarin calistigi hakkinda bilgileri de toplamaya baslar.
nmap -A -sS 10.42.0.1 -oN output.txt -> nomal sekilde loglar.
nmap -A -sS 10.42.0.1 -oX output.txt -> html cikti.
nmap -A -sS 10.42.0.1 -oG output.txt -> daha kolay grep calistirilabilir bir cikti olusturur.
-o parametresi ile dosyaya yonlendirme yapildiginda tarama islemi kesilip sonra cikti dosyasina kaldigi yerden devam
edecek sekilce taramaya devam edilebilir.
> veya >> ile yonlendirme yapmak yerine -o parametresi kullanmak daha kullanisli oluyor.
nmap -A -sS 10.42.0.1 -oG output.txt
nmap -A -sS 10.42.0.1 --resume output.txt -oG output.txt --append-output (Tarama kaldigi yerden mevcut dosyanin
devamina yazilmaya devam eder.)
nmap -A -sS 10.42.0.1 -d 10.42.0.35,10.42.0.36,10.42.0.37 -> Tarama isleminde 35.36.37... nolu IP'leri de kullanir.
Gonderilen pketlerde kaynak IP'leri degistirir. Boylece hedef IP taramanin hangi IP'den geldigini anlamaz. Bu islem
yapilirken 35.36... nolu IP'lerde bir yetki ihtiyaci yok, TCP/IP'nin aciklarini kullaniyor.
nmap -A -T paranoid -sS 10.42.0.1 -> port taramasi yaparken her bir tarama arasine ~5 dk. sure koyar.
nmap -A -T sneaky -sS 10.42.0.1 -> port taramasi yaparken her bir tarama arasine ~30 sn. sure koyar.
nmap -A -T polite -sS 10.42.0.1 -> port taramasi yaparken her bir tarama arasine ~10 sn. sure koyar.
nmap -A -T normal -sS 10.42.0.1 -> port taramasi yaparken sira ile her bir portu dener, biri bitince digerine gecer.
nmap -A -T aggressive -sS 10.42.0.1 -> port taramasi yaparken her bir tarama arasine cevabi beklemeden diger porta
gecer cevaplari sonra/geldikce toplar.
--- NETFILTER (iptables) ---
http://www.faqs.org/docs/iptables/
http://www.frozentux.net/documents/iptables-tutorial/
http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html
iptables: Kernel'de bulunan netfilter modulunun ayarlarini yapilandiran program.
Filtreleme yazilimleri ikiye ayrilir; Stateless ve Statefull.
Stateless -> her paket bir oceki paketten bagimsiz degerlendirilir. Or: Gonderilen paket ayri bu pakete gelen cevap ayri
degerlendirilir.
Statefull -> gonderilen ve alinan paketlerin birbirinin devami oldugunu anlayabilir.
DROP, DENY: Paket sistemler silinir, unutulur. Paket kaynagina cevap verilmez.
REJECT: Paket silinir ve paketi gonderene reject edildigine dair bilgi gonderilir.
ACCEPT: Artik bu baglantiyi kabul et.
STATE (new, establish, invalid, related):
POLICY: Or:filter tablosundaki INPUT chain'indeki kurallara bak yapacak bir sey bulamazsan DROP (veya ACCEPT)
et. Or: Sadece 22 nolu portu acmak icin POLICY DROP secilir sonra 22 nolu port icin ACCEPT kurali yazilir.
TARGET: Drop, Accept, Reject
JUMP: Baska bir zincire git, o zinciri tara sonra kaldigin yerden devam et.
NAT: (Network Address Translation) 3 cesit NAT var: DNAT (DestinationNAT, Gelen paketlerin hedef
IP'sini/Port'unu degistirerek gonderme.), SNAT (SourceNAT, Proxy sunucuda yapilan islem (Tek bir gercek IP'den bir
cok kullanicinin internete cikmasi) bu), MASQUERADE (Maskeleme, SNAT'in aynisi ama farki su; SNAT'nat ta
mutlaka IP belirtmek gerekirken MASQUERADE'de eth tanimlanir. Or: adsl modemler Masqurade yapar, gercek IP her
baglantida degisirken local IP dagitimi ayni kalir.)
a - syn -> b (Bu asamada STATE new), a <- syn+ack - b, a - ack -> b (Bu asamada STATE establish)
invalid: yanlis, alakasiz paketler.
related: Var olan bir baglanti var ve arada o baglanti ile ilgili baglantilar. Or: FTP baglantisi kuruldu ve bir dosya
indirilmeye baslandi. Arada FTP baglantisinin devam edip etmedigini kontrol etmek amaci ile yapilan baglantilar.
untracked: bu baglantilari takip etme.
TABLE (Yapacagimiz islemler) nat, raw, mangle, filter
CHAIN (Tablolarda belirtilen islemlerin ne zaman/hangi asama da yapilacagi ) prerouting, postrouting, input, output,
forward
iptables -L -t nat
---
Chain PREROUTING (policy ACCEPT)
target prot opt source
destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source
destination
Chain OUTPUT (policy ACCEPT)
target prot opt source
destination
---
yukaridaki ciktidan gorulecegi uzere PREROUTING, POSTROUTING ve OUTPUT asamasinda nat yapilabilir.
iptables -L -t raw
---
Chain PREROUTING (policy ACCEPT)
target prot opt source
destination
Chain OUTPUT (policy ACCEPT)
target prot opt source
destination
---
iptables -t tablo komut match TARGET -> Syntax
Komutlar:
-L
-A chain
--list
-> komutlari listele
--append chain
-> belirtilen chain'in en sonuna ekle. (Or: -A INPUT xxxxx)
-D chain_no
--delete chain_no
-> belirtilen chain_no yu siler. (iptables -t nat -D OUTPUT 1 -> nat tablosunun
OUTPUT zincirindeki 1 nolu kurali siler. Silme isleminden sonra 2 nolu kuralin numarasi 1 olur.)
-I chain_no
--INSERT
-> belirtilen kurali verilen numaraya ekler mevcutlari 1 asagiya kaydirir. (iptables
-t nat -I OUTPUT 1 -d 192.168. -j DROP)
-F chain
--flush chain
-> belirtilen zincirdeki tum kurallari siler. Zincirdeki tum kurallarin silinmesi icin o
zincire jump yapilan baska bir kural olmamali. (0 references gorulmeli.)
-N chain
--new-chain chain
-> yeni zincir tanimlar. (Or: iptables -t nat -N macacddresses)
-X chain
--delete-chain chain -> belirtilen zinciri (icinde kural olsa bile) siler. Ama silinecek zincire baska
yerden jump olmamali. (Or: iptables -t nat -X macacddresses)
-P chain POLICY --policy chain POLICY -> (iptables -t filter -P INPUT DROP -> filter tablosundaki INPUT
zincirinin default policy'sini DROP yap.) Kendi olusturdugumuz zincirlere POLICY tanimlayamiyoruz. (Or: iptables -t
filter -P xxxxx DROP komutu kabul edilmez.)
iptables -n -t filter -L -> filter tablosunu sorgular ve DNS sorgusu yapmaz. (-n parametresi ile)
iptables -v -n -t filter -L -> filter tablosunu sorgular ve DNS sorgusu yapmaz, daha ayrintili cikti verir. (-v parametresi
ile)
MATCH
-d adres
--destination adres
--dst adres
-> paketin hedefi verilen adrese esitse ... islemi yap., degilse bir
sonraki kurala gec. (Or: iptables -t filter -A OUTPUT -d 10.42.0.9 -j DROP -> hedefi 10.42.0.9 olan paketleri filter
tablosundaki OUTPUT zincirinde DROP edecek kurali OUTPUT zincirine ekler.)
-s adres
--source adres
--src adres
-> paketin kaynagi verilen adrese esitse ... islemi yap., degilse bir
sonraki kurala gec. (Or: iptables -t filter -A OUTPUT -s 10.42.0.9 -j DROP -> kaynagi 10.42.0.9 olan paketleri filter
tablosundaki OUTPUT zincirinde DROP edecek kurali OUTPUT zincirine ekler.)
(less /etc/protocols)
-p protokol
--protocol protokol
-i iface
--in-interface iface -> Disardan belirtilen iface gelen paketler (Sadece PREROUTING ve INPUT'ta
gecerli)
-o iface
--out-interface iface -> Belirtilen iface'den disariya giden paketler (Sadece POSTROUTING ve
OUTPUT'ta gecerli)
iptables -t filter -A INPUT -i eth0 -j DROP -> Disardan eth0'a gelen paketleri DROP ettik. (bu kural forward edilen
paketlere dokunmaz.!!!)
iptables -t filter -A OUTPUT -o eth0 -j DROP -> eth0'dan disari giden paketleri DROP ettik. (bu kural forward edilen
paketlere dokunmaz.!!!)
iptables -t nat -A POSTROUTING -o eth0 -j DROP -> eth0'dan tum cikan paketleri DROP eder. Forward edilen
paketler de DROP edilir.! (Ama halen yanlis, filtreleme islemi nat tablosunda yapilmamali, nat tablosunda sadece nat
islemi yapilmali.)
iptables -t filter -A INPUT -o eth0 -j DROP -> YAnlis bir kural. INPUT zincirine -o ile giden paketler icin kural
eklenmeye calisilmis.
iptables -t filter -A OUTPUT -i eth0 -j DROP -> YAnlis bir kural. OUTPUT zincirine -i ile gelen paketler icin kural
eklenmeye calisilmis.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE -> ADSL modemlerdeki gibi nat yaptik.
eth0 (internet) ile eth1 (local) arasinda route olmali. Makinada gateway olarak internete bakan eth0 tanimlanirsa eth0 ile
eth1 arasinda bir routing tanimlanmis olur.
(route -n komutu ile route tablosu gorulebilir. route add ... komutu ile yeni route'lar eklenebilir.)
Hedefi bizim IP olan makinalar iptables'i aciklayan tabloda sola (INPUT) doner (PREROUTING tablolarinda bir islem
yapilmamis ise.)
Makinadaki ethernetlerin (Or: eth0 ve eth1) ag taraf?na bagl? uclarinda PREROUTING ve POSTROUTING asamalari
olur. eth0 ile eth1 arasinda gidip gelen paketler routing tablosu ile ilgilidir, forward edilir. eth0 ile eth1 arasindaki
iletisimde PREROUTING ve POSTROUTING asamalari olmaz.
INPUT ve OUTPUT zincirinde gelen/giden paketler o PC'deki bir process'te sonlanmak veya o PC'deki bir process'tek
cikmak zorunda. Diger tum paketler forward edilecektir.
REDIRECT -> paketin hedefini kendim yaparim.
iptables -t nat -A PREROUTING -d 194.100.101.1 -j REDIRECT
iptables -t nat -A PREROUTING -d 194.100.101.1 -j REDIRECT --to-ports 3389
iptables -t nat -A PREROUTING -i eth0 -d 194.100.101.1 -j DNAT --todestination 194.100.101.5
TCP MATCHES (-p tcp / --protcol tcp)
--sport
--source-port
--dport
--destination-port
--tcp-flags
--tcp-options
iptables -t filter -A INPUT -p tcp -d 10.42.0.35 --dport 22 -j DROP
UCP MATCHES (-p ucp / --protcol ucp)
--sport
--source-port
--dport
--destination-port
ICMP MATCHES (-p ICMP)
--icmp-type
iptables -t filter -A OUTPUT -p ICMP --icmp-type 15 -j DROP -> ping isteklerine cevap verme.
iptables -t filter -A INPUT -s 10.42.0.35 -p ICMP --icmp-type 15 -j DROP
iptables -t filter -A INPUT -m iprange --src-range 10.42.0.10.-10.42.0.50 -j DROP
iptables -t raw -F
iptables -t mangle -F
iptables -t nat -F
iptables -t filter -F
port knocking -> ????? (Arastir)
ORNEK:
eth0 (OUT) 10.42.8.80, 10.42.0.253
eth1 (DMZ) 192.168.1.1 (192.168.1.0/24 Network'u)
eth2 (LAN) 192.168.2.1 (192.168.2.0/24 Network'u)
LAN > DMZ - ALLOW
LAN > OUT - ALLOW
DMZ > LAN - DROP (DMZ baslatiyorsa DROP et, established olanlara karisma.!)
DMZ > OUT - DROP (DMZ baslatiyorsa DROP et, established olanlara karisma.!)
OUT > 10.42.0.80 -> 22 -> 192.168.1.5 (Disardan 10.42.0.80'a ssh yapildiginda 192.168.1.5'a gonder.)
OUT > 10.42.0.253 -> 22 -> 192.168.2.6 (Disardan 10.42.0.253'a ssh yapildiginda 192.168.2.6'a gonder.)
ifconfig eth0 10.42.0.253
ifconfig eth1 192.168.1.1
ifconfig eth2 192.168.2.1
iptables -t filter -P INPUT DROP (filter tablosu icin default policy'i DROP yaptik.)
iptables -t filter -P FORWARD DROP (filter tablosu icin default policy'i DROP yaptik.)
iptables -t filter -P OUTPUT DROP (filter tablosu icin default policy'i DROP yaptik.)
iptables -t filter -A INPUT -i eth2 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -d 10.42.0.80 -p tcp --dport 22 -j DNAT --to-destination 192.168.1.5
iptables -t nat -A PREROUTING -i eth0 -d 10.42.0.253 -p tcp --dport 22 -j DNAT --to-destination 192.168.2.6
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
iptables -t filter -A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
Broadcast paketin hedefi 255.255.255.255 olur ve tum bilgisayarlara dagitilir.
DHCP request for my_mac_address -> Bu broadcast paketi herkese gider.
DHCP request alan DHCP Server DHCP Offer paketi gonderir. Bu paketin icerisinde IP, DHCP kira suresi, DNS-
resolver ve gateway olur.
ARP Poisoning
DHCP Spoofing
_____ _ _ _____ _____ _ _______
|_ _| | | || ___| | ___| \ | | _ \
| | | |_| || |__ | |__ | \| | | | |
| | | _ || __| | __|| . ` | | | |
| | | | | || |___ | |___| |\ | |/ /
\_/ \_| |_/\____/ \____/\_| \_/___/
################################# 10.08.2010 #################################
???
- bacula sanal makinalari yedeklemek icin kullanilacak program.
- www.flightgear.org/ : oyun
- http://www.cyberciti.biz/tips/shell-script-to-watch-the-disk-space.html
- http://ss64.com/bash/
motd
skel
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment