Linux101

Preview:

Citation preview

Linux 101

MetaRoc , Türkiye’nin çok farklı cografi konumlarında bulunan ve Caner KÖROGLU önderliginde bir araya gelebilen altı kisilik bir ekiptir.

Bir araya gelme amaçlarımızdan biri, kendimizi Siber Güvenlik alanında gelistirebilmek ve mümkün oldugunca ögrendiklerimizi, basarabildiklerimizi sizlerle paylasmak.

“Bilgi paylastıkça çogalır.” düsüncesiyle hareket eden bir ekip, MetaRoc Günümüzde riskler, sadece dısarıda degil. Evimizde, odamızda

masamızın üstünde,cebimizde.. Ekip olarak öncelikli hedefimiz ülkemiz ve insanlarımız için ‘Siber Güvenlik Farkındalıgı’ olusturabilmek.

Zamanla, kendimize ve size faydalı olabilecek projelerde tekrar bulusmak dilegiyle.

Metaroc

selam!Murat Arslan

İYTE Bilgisayar Mühendisligi

Linux | Siber Güvenlik | Network | Pyhton

@marslan0535 | muratarslan0535@gmail.com

rootmarslan.blogspot.com.tr

Neler ögrenecegiz?

*GNU/LINUX*TEMEL TERMINAL KOMUTLARI*PAKET YÖNETIMI*TEXT EDITÖRLERI*KULLANICI ISLEMLERI

*IZINLER*PROCESS*DOSYA SISTEMLERI*ÇEVRE DEGISKENLERI*SERVISLER ...

1.GNU/LINUX

GNU, LİNUX NEDİR?

GNU

(GNU IS NOT UNIX)

Linux terminali nedir???

**kernel(çekirdek) ** shell(kabuk) Komutlar vererek islemleri yaptıgımız yerdir.Shell programı sayesinde komutlarımız yorumlanırIslemler gerçeklesir.echo(ekrana yazdırmak için kullanılır)echo $SHELL dersek kabuk programımızı ögrenebilir.

Linus torwalds linux çekirdeGini geliStirmiStir.

richard stallman gnu yu

GELISTIRMISTIR.

2.TEMEL TERMINAL

KOMUTLARI

Lınux cekirdekli isletim

sistemlerinde klasörlere “dizin”

denir!!!

Full PathFull path kavramı komuta en üst dizinden baslayarak gidecegi yolu gösterir.Baslangıcı en üst dizin yani / (kök dizin)kabul eder./etc/passwd/home/murat/Müzikler/pop

Full path / relatıve pathRelatıve PathBaslangıcı suan bulundugu dizin kabul eder. Eger /home/muratdizinindeysek/Müzikler/pop yazarak soldaki islemle aynı yere gelmis oluruz.

PWD(PRINT WORKING DIRECTORY)Kullanıcıya hangi dizinde bulundugunu full path ile gösterir.

Linux dosya

sistemı genel yapısı

Dizin degıstırmek ıcın kullanılır. $ cd . (bulunulan dizin) $ cd .. (bir üst dizin) $ cd ~ (ev dizini) $ cd - (bir önceki dizin)

Cd (change dırectory)

Place your screenshot here

Ls

(list directories)Istenilen dizindeki dizin,dosya vb alayını listeler :)

ls -a (all) gizli dosyalarıda gösterir.

ls -l ayrıntılı listeler

ls -h listelenenlerin boyutlarını daha anlasılır yapar.

Isminin Basında “ . ” olan dosya ve

dizinler gizlidir

touch

Eger dosya önceden var ise dosyanın islem tarihini günceller.

Eger dosya önceden yok ise belirtilen dizine dosya olusturur. *Dizin belirtilmezse bulunulan dizine olusturur.

FILEIstenilen dosya,dizin vb. hakkında özet bilgiler verir.

File / stat

STATIstenilen dosya,dizin vb. hakkında file komutuna göre daha genis bilgiler verir. Uid,güncellenme vs.

Çalısılan terminali nasıl temizleriz????

$ clearCTRL+L

cat

Dosyanın icerigini gösterir.

Yönelendirme isaretleri ile dosya da olusturulabilir.

Yine yönlendirme isaretleri ile dosyanın sonuna ekleme yapılabilir.

Less more historyTerminale sıgmayan büyük veya uzun metinlerde,metini

Terminal boyutu kadar ekrana yazdırır. Okurnurluk kazandırır. Büyük dosyaları okumada kullanıslıdır.

**-g -G parametleri

Less komutunda içerik içinde ileri-geri hareketler yapılabilir. Ama more komutunda sadece ileri yönlü hareket yapılır. Less tüm içerigi bellege almadıgı için daha kullanıslıdır.

Terminale girilen önceki komutları gösterirkullanıcın home dizinindeki .bash_history dosyasında history limiti bulunur.

Terminalde kopyalama yapıstırma

ctrl+shift+cctrl+shift+v

cp(copy)

Dosya kopyalamamızı saglar. $ cp /-/kaynak/-/hedefDizinleri kopyalamak için -r parametresi kullanılır.Eger kopyalanacak yerde dizin yoksa önce dizin olustururlur sonra kopyalama yapılır.-i parametresi ise bizi dosyanın üzerine yazma durumlarında uyarır.

mv(move)

Tasıma islemlerinde kullanılır.$ mv kaynak/-/hedefCp deki -i parametresi burada da kullanılır.

Isim degistirmek için kullanılır.$ mv eski isim/-/yeni isim

Yardım komutları

MAN(MANUEL)man komut seklinde çalısır.Komutun kılavuzudur.Komut hakkında kapsamlı bilgileri verir. Q ile çıkıs yapılır.

HELPKomut --help seklinde çalısır.Komut hakkında özet ve önemli bilgileri verir.

dmidecode uname uptime Sistem ile ilgili bilgileri verir.

Dmicode --type bios

Bios hakkındaki bilgileri verir. --type

Parametresi ile kullanılır.

Kullanılan kernel hakkında bilgileri verir.

-i parametresi versiyonu

-a parametresi bütün bilgileri verir.

Acaba sistem ne zamandır açık???

mkdir(make directory)

Dizin olusturmak için kullanılır.-p parametresi ile dizinin içine dizin olusturulur.

$ mkdir dizin{1..7} ne yapar???

$ mkdir dizin{4..8}/{1..3} ne yapar???

rm(remove)

rm

rm dosya dosyayı siler

Bu ne ki??? $ rm -rf /*

rm -r

Dizinleri silmek için kullanılır. Recursive yolla silinir.

rmdir directory de kullanılabilir.

rm -f

Silinecekleri zor kullanarak siler.

Silmeye zorlar

Find komutu dizin,dosya vb aramamızı saglar.find Aranacak yerler/-/özellikleri-type parametresi ile dizin,dosya,karakter dosyası vb-name dosyanın ismi

$ find /home -type d -name ödevlerim

find

Deneyelim ögrenelim :)whatis

$ whatis cat

Çıktı sence ne??

exit

Yoksa bulunduğun

kullanıcıdan mı çıktı ???

ctrl+d

exit komutunun kısayolu mu ;))

Ctrl+c (cut)

Bir process islerken bunu yapmalısın!!

Tab kullan!!!!Tab tusu terminaldeki en iyi yardımcımızdır.

Bütün kelimeyi komutu yazmadan tab ile tamamlayabiliriz veya komut satırında

hızlıca saga sola gitme islemlerini yapabilir Daha neler nelerr….

alias

Alias kullanarak bir komutu bir kısayola atayabiliriz.

Mesela ~ isareti bir aliastır ~ = /home/murat demektir.$ alias kas=’ls -la’ dersek kas yazdıgımızda ls -la komutunun çıktısını alırız. unalias kas yazarak bu kısayolu kaldırabiliriz.

Kanallar

Standart ın(stdın)

(0)

Standart

out

(stdout)

(1)

Standart error(stderr)(2)

process

Yönlendirme isaretleri

DENEYELIM!!!$ echo merhaba$ echo merhaba > dosya.txt$ echo dünya >> dosya.txt$ Cat < dosya.txt > dosya2.txt$ ls /olmayan/dizin > error.txt$ ls /olmayan/dizin 2> error.txt

yönlendirmeler

<

İNPUT(GIRDI) ALIR.

Sagındakı dosya solundakıne gırdı olur.

> & >>

output(çıktı)alır.

Soldakinin çıktısı sagdakine girdi olur.

$ Hello > dosya.txt

>> ise yine yönlendirmedir fakat dosyanın altına ekleme yapar.

2> & 2<

Stderr kanalının numarası 2 oldugu için 2 kullandık. Eger stderr da kanal belirtmezsek hata mesajı verir. Çünkü hata oldugunu bilmiyor,stdın veya stdout sanar.

Pipe ( | ) and tee

pipe(|) bir çıktıyı diger komutun girdisi yapar. $ ls -la /etc | lessBu komut ls -la çıktısını less komutuna verir ve less komutu sayfa sayfa çıktı almamızı sağlar.

$ ls | tee dosya.txt Dersek ls komutunun çıktısını dosya.txt içine yazar. Buradaki tee ise dosya içine yazılanları ekrana yazmasını saglar

Bunlar ne demeeek???

1)dosy*

2)*zik

3)bil??say?r

Head tail$ head /var/log/syslogHead komutu ile uzun dosyaların sadece istedigimiz kadarını dosyanın basından görebiliriz.-n 20 dersek basından ilk 20 satırı görebiliriz.

$ tail /var/log/syslogHead komutu ile uzun dosyaların sadece istedigimiz kadarını dosyanın sonundan görebiliriz.

Expand / unexpand

Uygulamada cat ile aynı gibi görünen bu komut dosyadaki sekmeleri bosluk karakterine cevirir. Bu nedenle expand dosya.txt dedikten sonra cat dosya.txt çalısmaz.Öncesinde unexpand dosya.txt demeliyiz.

*** wc dosya adı ne ise yarar???

Join cut sortBirden çok dosyayı bir alanda göstermek için kullanılır.

$ join file1.txt file2.txt

metin dosyalarının belirli bölümlerini görüntüleme, bu bölümleri ekleme ve çıkarma gibi bir çok islemi yapmamıza olanak saglayan bir komuttur.

Belirli parametlerle dosyada sıralama yapmamızı saglar.

grepGrep komutu dosyanın içinde arama yapar,find komutu ise dosyalar arasında aram yapıyordu. $ grep --color kurt dosya.txt Bu komut dosya.txt içerisindeki kurt karakterlerini boyar ve yazdırır.$ env | grep -i User Env çıktısını grep girdi alır. Ve user karakterleri var mı bakar.$ cut -f 1,3 --d “ “ dosyadadı-f sütunları -d de neye göre ayırılacagın belirtir.

meta Bilginin Bilgisi :)))Aslında datanın bilgisi bir nevi etiketi:)

3.Isler karısıyor

:((Text Editörleri

regex(Regular

expressıons)regex genel kurallar

ıcın tıkla

Vim terminalde en çok kullanılan text editörlerindendir.Büyük çaplı dosyaları okumak için gelistirilmistir. Ögrenmesi zahmetli fakat oldukça kullanıslıdır.Vi de iki mod vardır. Komut ve yazma moduKomut modu : Dosyanın içerigine etki etmez,dosyayı kaydetme,mod degistirme,açma ,kapama vb. Islemleri yapar.Yazı modu: Dosyanın içerigini degistirdigimiz moddur.

vim(vı)

vim(vi)Esc tusu ile komut moduna “i” veya “a”tusu ile yazı modunaKaydedip çıkmak için esc ile komut moduna geçilir. Sonra :wq komutu ile kaydedip çıkabilir. :q! Dersek kaydetmeden çıkarız. “h” ”j” ”k” ”l” tuslarını yönlendirmede kullanabiliriz.X seçilen karakteri keser aynı zamanda silerde ;)dd bulunulan bütün satırı siler.y secilen yeri kopyalaryy bulunulan bütün satırı kopyalar.

vım(vı)

p bulunulan yere kopyalı metni yapıstırır.u son islemi geri alır.v yapılan islemi kaydeder.ZZ == :wq aynı islevi görürler.Vim editörü hakkında daha kapsamlı komutları ögrenmek için tıklanıyınız ;)***Bu komutları sadece komut modunda kullanabiliriz.***

Dıger text edıtorlerı

Nano:

Kullanımı oldukça kolay olan bu editör ile birçok dosyanızı düzenleyip degistirebilirsiniz. Daha fazla bilgi için tıklayınız.

Emacs:Bir diger çok kullanılan text editörü olup daha fazla bilgi edinmek için tıklayınız.

Linux cekirdekli isletim

sistemlerinde dosya uzantısı

yoktur!!!

4. Kullanıcı islemleri

Linux isletim sistemlerinde birden fazla kullanıcı olabilir. Fakat bu kullanıcıların en yetkilisi ROOT kulllanıcıdır.Kullanıcılar birleserek grupları olusturur. Dosya sahibi kullanıcının grubun ve digerlerinin ayrı ayrı izin hakları vardır.Peki bu kullanıcıların ve grupların bilgisi parolaları nerede tutulur???

User, group bilgisi

etc/passwd Kullanıcılara ait genel bilgilerin tutuldugu dosyadır. Peki bu bilgiler nelerdir???isim:sifre:uid:gid:yorum:evdizini:kabuk

/etc/shadowKullanıcılara ait parolaların belirli sifreleme algoritmalarıyla saklandıgı dosyadır. Peki nasıl sifreleniyor ki ???

/etc/group

Gruplara ait bilgilerin tutuldugu dosyadır.

/etc/passwd

/etc/shadow

/etc/group

Dosyalarında sadece root kullanıcı

degısıklık yapabilir!!!

Peki yeni kullanıcı nasıl eklenir???adduser$ adduser murat Komutu ile yeni kullanıcı olusturulur. Parola ve genel bilgiler olusum sırasında sorulacaktır.

deluser$ deluser murat komutu ile de olusturulan kullanıcıyı silebiliriz. Aynı zamanda kullanıcının grubunu da silecektir.

HMMM???

Adduser ve useradd komutlarını kullanmadan bir kullanıcı ekleyelim. Sonra grubunu olusturalım ve tabiki kullanıcı parolası da lazım. Son olarak bu kullanıcın ev dizini de olmalı tabi ;)

��

5.

IZINLER

dOSYA IZINLERIDosya izinler read(r),write(w),execute(x) olmak üzere 3 çesittir.Her dosya için user,group,other izinleri ayrı ayrıdır. r: readable(4) w: writable(2) x: executable(1) -: empty

Dosya izinleri degistırme

(r)4+(w)2+(x)1 = 7$ chmod 761 dosya.txt$ chmod 440 müzikler$ chmod 142 /home/murat$ chmod 700 /var/bin$ chmod 000 /etc/passwd

$ chmod u+xw dosya.txt$ chmod a+w dosya5.txt$ chmod g-xw ödevler$ chmod o+xr dolu.txt

Peki dosya ilk olusturuldugunda ilk izinlerini kim veriyor ki ???

Dosya sahipligini degistirmechown

$ sudo chown murat dosya.txt

Dosya.txt dosyasının yeni sahini murat oldu ;)

$ chown useradı:grupadı dosya.txt

Chgrp

$ sudo chgrp grupadı dosya.txt

Dosya.txt

Bu ne peki???

$ passwd komutu ile kullanıcı parolasını degistirebiliyorduk. Peki kullanıcı parolaları nerede tutuluyordu? Bu dosyada degisiklik için root olmak gerekmiyor muydu? Eee biz bu dosyanın içerigini nasıl degistirdik ki???

suıd(set user ıd) / sgıd(set group ıd)

suıd/sgıdBir programı çalıstıran kullanıcılarınprogram çalıstıgı sürece program dosyasının sahibinin yetkilerine sahip olmalarını saglar. Yani sistemde bir programı kullanması gereken fakat o programı kullanmasına normal sartlarda yetkisi olmayan bir kullanıcının geçici olarak programı kullanabilmesi de diyebiliriz.

$ sudo chmod g+s myfile (SGID)$ sudo chmod 2555 myfile$ sudo chmod u+s myfile (SUID)$ sudo chmod 4574 myfile

Sticky bitAynı klasör üzerinde erisme,yazma hakkı olan kullanıcıların,klasörü ve alt dosyalarını silmelerini engellemek için kullanılır. Yani ortak bir klasörü herkes kullanabilecek (yazma ,çalıstırma) ama klasörü sadece klasörün sahibi ve root silebilecek.$ sudo chmod +t mydir

$ sudo chmod 1755 mydir

t= sticky bit(1)

s= suıd(4)

g= sgıd(2)

6.processes(süreçler)

Top & ps aux

Process Process sonlandırma$ kill -9 “PID “$ kill “PID”

Process durumları:R: çalısıyor, çalısabilirS: uykuda uyanabilirT: durdurulmusD: kesintisiz uykudaZ: zombi ;))

acaba???Aynı anda bırden fazla program açıkken

bütün açık programlar cpu da aynı anda mı çalısıyor???(niceness)

7.Paket yönetimi

Paket nedir?Derlenmis ve paket yönetim sistemiyle kuruluma hazır dosyalara “paket” denir.

PEKI LINUX DAGITIMLARINDA PROGRAM NASIL KURULUR???1)KAYNAK KOD2)PAKET YÖNETIM SISTEMI3)REPOSİTORY

redhat/centOs � .rpm � rpm � yumDebian/ubuntu � .deb � dpkg � apt/etc/apt/sources.list ====> dosyayı inceleyelim bu içerik ne olabilir ki???

SS KOY SOURCES LİST

Dagıtım || paket || man. Paket yön. || Oto. paket yön.

Program kurmaLinux'ta program kurmak için :Programı kaynak koddan derleyerekkullandıgımız dagıtıma uygun olan program kurulum Paketlerinden paket yönetim sistemi yardımıyla manuel kurulum Repository denen dagıtımın kullandıgı depolardan otomatik kurulum yapmaktır.$ dpkg -i <paket adı>$ apt-get install <paket adı>

Neler oluyor neler...

Apt komutu çalısırken ilk olarak sources.list dosyasına gider bakar. Eger istenen program o repolarda var ise indirir fakat yok ise(büyük

ihtimalözgür yazılım degildir; )) bizim repolara eklememiz gerekir.

$ apt-cache search <program_adı>$ apt-get remove$ apt-get purge$ apt-get update$ apt-get upgrade$ apt-get dist-upgrade$ apt-get autoremove$ apt-get -f install(3.parti program;))

Kaynak kodlarından program kurmakKonsoldan programı açtıgımız klasöre gelip$ ./configüre diyoruz.$ make yazıp programı yüklemeye hazır hale getiriyoruz. Eger derlemeyi yapacak paket kurulu degilse öncelikle$ sudo aptitude install build-essential yaparak bu paketi kurmalıyız.$ make install ile programı yüklüyoruz. $ make uninstall ile programı kaldırıyoruz.

$ gzip + (-1..-9) <dosya adı> $ bzip + (-1..-9) <dosya adı> $ gzip -k + <dosya adı> $ gzip -d + <dosya adı> $ bzip -d + <dosya adı>

Sıkıstırma islemleri

-1 parametresi en hızlı-9 parametresi en küçük boyuta

-d (decompress)-k (keep)

Arsıvleme islemleriArsivleme islemleri için tar kullanılır. $ tar -cvzf kiraz.tar.gz kiraz $ tar -xzfC kiraz.tar.gz /home/ $ tar -cvf arsivim.tar dosyalar

-c (create) arsivler -C (change directory) -f (file) islem dosyası -t (list) icerigi listeler -x (exract) arsivi açar -v(verbose) islemleri gösterir -z(gzip) gzip ile de sıkıstıırır -j(bzip) bzip ile sıkıstırır.

8.Dosya sistemleri

/ (root) : isletim sistemimizin baslangıç noktasıdır. Diger bütün dizinler rootun altında bulunur. Bilgisayar baslarken ilk bakılan dizindir. Eger burası olmazsa sistem baslamaz.“/” ve “/root” birbirinden farklıdır./root ise root kullanıcısının ev dizinidir. Yani /root dizini / dizininin altındaki dizinlerden sadece biridir.

Dosya sistem hiyerarsisi

Sistemde bulunması gerekli komut dosyalarını içerir. Sistem boot edildiginde ilk olarak /bin dizini çalısır hale getirilir. /bin altındaki komutlar ne olursa olsun çalısır. Çalısmazsa zaten komutlar da çalısmaz.

/bin

Isletim sistemine dair bütün yapılandırma dosyalarını içerir.Sistem ayarlarını barındırır.Passwd ,shadow,group gibi dosyaları içinde barındırır.

/etc

/home

Home klasörü kullanıcının kalesidir ; )Her kullanıcı için kendine özeldir.Rootun home dizini ise /root dizinidir.

/devLinux’ta herseyde oldugu gibi donanım aygıtları da bir dosyadır.USB girisleri,paralel portlar,cd-romlar gibi bütün aygıtlar /dev dizinin altında tutlan dosyalardan ibarettir./dev/psaux : PS/2 girisi; fare ve klavyeler içindir./dev/lp0 : Paralel port (LPT 1); yazıcı, tarayıcı vs.../dev/dsp : Birincil ses aygıtı/dev/usb : USB aygıtları

Log dosyaları, e-mail ve printer kuyrukları gibi degisken sistem bilgilerini barındırır. Sisteminize dair tutulan log'ları buradan görebiliriz.Güvenlik durumunu buradan kontrol edebiliriz.

/var

/boot : baslangıç için gerekli dosyalar bulunur./lib: kütüphane dosyaları ve kernel modülleri bulunur./media: çıkarilabilir aygıtların(USB,CD-Rom...) sisteme eklendigi dizindir./mnt:bir dosya sistemini geçici olarak eklemek için kullanılır./opt:ekstra programların kurulması içindir./srv:sistemin sundugu hizmetlerle alakalıdır./tmp:gecici dosyaların tutuldugu dizindir./sbin:sistem yöneticisinin çalıstırılabilir dosyalarını barındırır.

Kullanıcı girisiKullanıcı adı ve parolayı girdik

Kullanıcı adı passwd dosyası ile eslestiParola shadowdaki parola ile eslesti

Giris yapılan kullanıcın /home dizinindeki .bashrc dosyası okundu

.bashrc dosyasına göre ayarlamalar yapıldı(env,alias vb)Kullanıcı girisi yapıldı

Ext4:linux dosya sisteminin standart tercihidir.NTFS/FAT : windows dosya sistemidir. Fakat bu dosyalara linux dagıtımlarından da ulasılabilirsiniz.HFS+ : macintosh dosya sistemidir.XFS : yüksek performanslı dosya sistemidir. Büyük dosyarların medya serverlarında kullanılır.

$df -T komutu ile makinemizin dosya sistemini kontrol edebiliriz.

Dosya sistemi tipleri

$ sudo parted komutuyla parted tooluna gireriz. Print komutuyla bölüm tablosunu yazdırır.Mkpart komutu ile disk bölümlendirme baslar.

?????????

DISK BÖLÜMLEME

Ss koy

mount/unmountBir disk üzerindeki bir bölümü bir klasöre baglayarak içerigini görmeye,dizini kullanma vb. islere yarar.$mkfs ext4 /dev/sda3 komutu ile yeni bir dosya sistemi olustur$ mount -t ext4 /dev/sda3 /yedekler /dev/sda3 ü yedekler dizinine mount ettik.-t parametresi dosya tipini belirtir.$unmount /yedekler komutuyla mountu iptal edebiliriz.

$ blkid komutuyla sistemimizdeki block deviceları görebilir./dev/sda1: UUID="130b882f-7d79-436d-a096-1e594c92bb76" TYPE="ext4"

/dev/sda5: UUID="22c3d34b-467e-467c-b44d-f03803c2c526" TYPE="swap"

Peki bunlar nedir???

$ sudo mount UUID=130b882f-7d79-436d-a096-1e594c92bb76 /mydrive

mount/unmount

$shutdown$ halt $ poweroff

Bunların farkı ne????

UUID :device kimligidir.Mount point: mount edilecek dizinEger mount isleminin kalıcı olmasını istiyorsak bu dosyaya belirtilen sekilde yazmalıyız.

/etc/fstab

Swap nedir?Number Start End Size Type File system Flags

5 6861MB 7380MB 519MB logical linux-swap(v1)inode ögrenelim

BU KOMUTLAR NE ISE YARAR Kı???

$ sudo fsck /dev/sda$ df -h$du -h$df -T$ rm -rf /*$ ls -li$ df -i

hardlinkIki farklı dosyanın bir inodu olursa hardlink yapılmıs olur.Dosyaların birinde yapılan bir degisiklik digerini de etkiler.$ ln somefile somelink

A.txt B.txt

İNODE

HARDDİSK VERİ YAZMA

Windows kısayollarına benzer. $ ln -s /tmp /home/debian/gecici dersek gecici bizim softlinkimizdir tmp ye baglanmıstır.Sembolik baglılarda dosya tipi yazan yerde “l” yazar.Ve dosyalar aynı inode numarası kullanmazlar.

sOFT LINKs/symlinks

Bilgisayar nasıl açılır?

Bilgisayar nasıl boot olur? sistem nasıl hazırlanır? llk hangi bölümle uyandırılır?

Power tusuna bastıktan sonrası ...

BIOS(BASIC INPUT OUTPUT SYSTEM)MBR(MASTER BOOT RECORD)GRUB(GNU GRUB (short for GNU GRand Unified Bootloader))BOOTLOADER(MBR&GRUB)KERNEL

INITDRIVERDEVICE

/etc/inittab dosyasını düzenleyerek konfigüre edebiliriz. init 0 haltinit1 single user mode (sadece root kullanıcısı var)init2 multiuser (internet kullanıılamaz)init3 full(network) multiuser (internet kullanılabilir)init4 kullanılmıyorinit5 arayüz(x11)+multiuser (normalde kullanılan)init6 reboot

INIT

9.servisler

servisler

Servisler processleri yönetmek için kullanılır. $ systemctl status <servisadı> komutuyla servisin bilgisini verir.

$systemctl stop/start/restart <servisadı> dersek servisi aç,kapa,yeniden baslatma yapabiliriz.

Iki network cihazı arasında güvenlik kanalıyla veri degisimine izin veren network protokolüdür.Sifreleme ve dogrulama algoritmaları kulllanır.Lokal bilgisayardan uzak bilgisayara dosya kopyalanabilir. Otomatik olarak uzaktan server kontrolü ve yönetimi saglanabilir.

Ssh nedir?

Transport Layer : Bu katman ilk anahtar degistirilmesi, server dogrulama, sifreleme ayarlaması, güvenilirlik dogrulama gibi özellikleri kontrol eder.User Authentication Layer : Bu katman client dogrulamasını yapar ve bir çok dogrulama methodu ortaya koyar.Connection Layer : Bu katman kanalların konseptlerini ve kanal isteklerini SSH servislerini kullanarak tanımlar. Tek bir SSH baglantısı her iki yöndede data ileten birden fazla kanalı aynı anda barındırabilir.

Iç mimarisi

Ssh kullanımı

$ ssh -l kullanıcı_adı@<ıp adresi>Karsı bilgisayardan kendimize kopyalıyacaksak:

$ scp kullanıcı_adı@host_ismi:kopyalacak_dosyanın_adi kopyalanacagı_yerKendi bilgisayarımızdan karsı bilgisayara kopyalayacaksak:$ scp kopyalacak_dosyanın_adi kullanıcı_adı@host_ismi:kopyalanacagı_yer

$ sudo shutdown -h now

$ sudo shutdown -r now <r(restart)> ;))

$ sudo reboot

$ sudo shutdown -h +2

Crontab zamanlanmıs görev vermemiz için kullanılır.$crontab -e komutu görevi düzenlememizi saglar.● dakika(0-59)● saat(0-23)● gün(1-31)● ay(1-12)● Haftanın günü(0-7)(7 pazar günüdür.)

30 08 10 06 * ./home/ramesh/change_wallpaperBu görevde her 6. Ayın 10. Gününde saat 8:30 da masaüstünü degistirmesini söylüyor.

crontab

Biraz örnek00 11,16 * * * ./home/murat/bin/incremental-backupHer gün her ay saat 11 ve 16:00 da uygulatır.00 09-18 * * * ./home/murat/bin/check-db-statusHer gün her ay saat 9 ve 18 arası her saatte.00 09-18 * * 1-5 ./home/root/bin/check-db-status

30 08 10 06 * ./home/nazlı/full-backup

ctrl +alt+f1

Noldu?

Burası neresi?

9.CEVRE degıskenleri

(envıronmental variables)

Islemlerin okuyabildigi bir anahtar degeridir.Ortam degiskenleri bulundukları ortama göre degisebilirler.Burada yapılan bir degisiklik diger ortamlarda çalısmaz.Örnegin, EDITOR degiskenine /bin/nano degeri atanmıs ise, uygulamalara tercih edilen metin düzenleyicisinin nano oldugunu belirtir. $DEGISKEN seklinde gösterilir.$ printenv komutu ile çevre degiskenlerini yazdırabiliriz.

nedir?

$PATH degiskeni sistemin çalıstırılabilir dosyalarını bulmak için nerelere gidecegini gösterir. Bunun için çok önemlidir ve dogru olması gerekir.

$path

Ortam degiskeni ayarlama

Ortam degiskenleri kullanıcıya özgüdür.1)Oturum:Sadece geçerli,açık olan terminalde kullanılır.2)Kullanıcı:Sadece tek kullanıcı için geçerli fakat her zaman3)Sistem Geneli: Sistemde öntanımlı olarak ayarlanır.

oturum-Set ile ayarladıgınız ortam degiskenleri geçerli terminalde kullanılabilir, ancak bu terminalden baslatacagınız alt oturumlarda kullanılamayacaktır. Yani set yalnızca verildigi terminali etkiler.– Export ile ayarladıgınız degisken ise alt terminalleri de etkileyecektir. Yani export, oturum bazında da olsa set’den daha globaldir.

**Peki bu komutlar çalıstırılabilir bir program mı ?????**

Kullanıcıya özel ortam degiskenlerini tutabileceginiz en iyi yer .bashrc dosyasıdır. Bir kullanıcı oturum açtıgı zaman bu kullanıcının .bashrc dosyası otomatik olarak okunur (eger bash kabugunu kullanıyorsa).

export DEGISKENADI="fr"

kullanıcı

SISTEM GENELI

Bir ortam degiskenini tüm sistemde ayarlamak için sistemde her oturum açıldıgında okunan bir dosyada saklanması gerekmektedir. Mesela /etc/profile ;))

Bu kod nedir???#!/bin/bash while read satirdols $satirdone < $1

TesekkürEderim

muratarslan0535@gmail.com

Murat Arslan

rootmarslan.blogspot.com.tr

Murat ARSLAN

Murat ARSLAN

Muratarslan0535

@marslan0535