Created
October 20, 2010 13:48
-
-
Save sayz/636432 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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