Sızma Testi ve Güvenlik Denetlemeleri - Temel Linux Bilgisi
1. Temel Linux Bilgisi
BGM 553 - Sızma Testleri ve G¨uvenlik Denetlemeleri-I
Bilgi G¨uvenli˘gi M¨uhendisli˘gi
Y¨uksek Lisans Programı
Dr. Ferhat ¨Ozg¨ur C¸ atak
ozgur.catak@tubitak.gov.tr
˙Istanbul S¸ ehir ¨Universitesi
2016 - G¨uz
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 1 / 57
2. ˙Ic¸indekiler
1 Temel Linux Komutları
Temel Linux Mimarisi
Temel Linux Komutları
2 Linux Dosya Sistemi
Giris¸
Dosya Sistemi Hiyerars¸i
Linux Dosya G¨uvenli˘gi
3 Dosya ˙Is¸lemleri
Giris¸
Eris¸im Modları
4 A˘g Ayarları
ifconfig
5 Linux Servisleri
init.d
6 Process
Giris¸
S¨urec¸ ˙Izleme
S¨urec¸ Sonlandırma
7 Paket Y¨onetimi
Giris¸
Kaynak Koddan Kurulum
8 Sistemin ˙Izlenmesi
Giris¸
Disk Durumu
RAM Durumu
CPU Durumu
A˘g Durumu
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 2 / 57
3. ˙Ic¸indekiler
1 Temel Linux Komutları
Temel Linux Mimarisi
Temel Linux Komutları
2 Linux Dosya Sistemi
Giris¸
Dosya Sistemi Hiyerars¸i
Linux Dosya G¨uvenli˘gi
3 Dosya ˙Is¸lemleri
Giris¸
Eris¸im Modları
4 A˘g Ayarları
ifconfig
5 Linux Servisleri
init.d
6 Process
Giris¸
S¨urec¸ ˙Izleme
S¨urec¸ Sonlandırma
7 Paket Y¨onetimi
Giris¸
Kaynak Koddan Kurulum
8 Sistemin ˙Izlenmesi
Giris¸
Disk Durumu
RAM Durumu
CPU Durumu
A˘g Durumu
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 3 / 57
4. Linux Shell I
Unix kabuk (Unix shell), Kullanıcılar tarafından metin (text) olarak girilen komutları c¸alıs¸tırarak
bilgisayarın c¸alıs¸masını sa˘glayan komut satırı yorumlayıcısıdır.
Katmanlar: Kullanıcı (User), Kabuk (Shell), ˙Is¸letim sistemi (C¸ ekirdek - Kernel), Donanım (Hardware)
S¸ ekil: Linux is¸letim sisteminde kernel, shell ve kullanıcı ilis¸kisi
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 4 / 57
5. Linux Shell II
En ilkelden en gelis¸mis¸e g¨ore:1
sh (Shell ya da Bourne Shell): ˙Ilk UNIX kabu˘gu.
ksh (Korn Shell): sh uyumlu, birc¸ok ek programlama ¨ozelli˘gi ic¸eren
bir kabuk. Bu kabuk da yaygın bir kitle tarafından kullanılıyor.
bash(Bourne Again Shell): Kullanım kolaylı˘gı bakımından en c¸ok
ra˘gbet g¨oren bash, GNU tarafından kaynak kodu olarak da˘gıtılıyor.
bash sh ve ksh uyumlulu˘gunu korurken, ¨ozellikle etkiles¸imli kullanıma
y¨onelik (komut tamamlama, gibi) birc¸ok yenilik de ic¸erir.
csh (C shell): Berkeley ¨Universitesi’nde gelis¸tirilen csh’in C diline
benzer bir programlama yapısı vardır.
tcsh: csh’ın biraz gelis¸tirilmis¸ hali.
1 $ echo $0
1Kabuk ˙Is¸lemleri - http://web.deu.edu.tr/doc/lis/lis-3.html
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 5 / 57
6. Linux komutları
Hemen hemen hers¸ey dosya olarak tanımlanmıs¸tır.
Dosyalar (Regular files)
Klas¨orler (Directories)
Klas¨orler, is¸letim
sistemi ic¸in dosyalar
ic¸eren dosyalardır.
Symbolic links
bas¸ka bir dosyayı
adresleyen dosyalar.
1 $ ln -s target_path
link_path
Devices and Peripherals
Cihazlar giris¸ c¸ıkıs¸ is¸lemi dosya
yazıp okuma s¸eklinde
yapılmaktadır.
Pipes ??
1 $ cat *.log|grep error
Sockets
Inter process communication
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 6 / 57
7. ls komutu
ls
Bir klas¨or ic¸erisinde yer alan ve ”.” karakteri ile bas¸lamayan dosyaları
alfanumerik sırada g¨osteren komut. Windows dir komutu
ls -a (all)
”.” ile bas¸layan dosyalar
dahil b¨ut¨un dosyalar
ls -l (long)
(type, date, size, owner,
permissions)
ls -t (time)
en g¨uncel −→ en eski
ls -S (size)
dosya boyutu: b¨uy¨uk −→ k¨uc¸¨uk
ls -r (reverse)
ters sıralama
ls -ltr
opsiyonlar kombinasyon halinde
olabilir.
¨Ornekler:
1 $ ls *.txt
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 7 / 57
8. cd ve pwd
cd <dir>
shell’in bulundu˘gu klas¨or¨u de˘gis¸tirir.
cd -
bir ¨once bulunulan klas¨ore geri d¨oner.
pwd
print working directory
s¸u an bulunulan klas¨or¨u g¨osterir.
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 8 / 57
9. cp ve mv
cp (copy) komutu
Kaynak dosyayı hedef dosyaya kopyalar.
1 $ cp [sourcefile] [targetfile]
Dosyaları hedef klas¨ore kopyalar.
1 $ cp file1 file2 file3 ... dir
B¨ut¨un dosyayı kopyalama.
1 $ cp -r [source_dir] [target_dir]
mv (move) komutu
Dosya tas¸ıma ic¸in kullanılır.
1 $ mv [sourcefile] [targetfile]
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 9 / 57
13. mkdir ve rmdir
Klas¨or olus¸turma is¸lemi
1 $ mkdir dir1 dir2 dir3
Klas¨or silme is¸lemi
1 $ rmdir dir1 dir2 dir3
Sadece ic¸eri˘gi bos¸ olan klas¨orleri siler.
rm -r ile klas¨orlerin bos¸ olması gerekmeden silinebilir.
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 13 / 57
14. Dosya ˙Ic¸eri˘gi G¨or¨unt¨uleme I
Linux ¨uzerinde dosya g¨or¨unt¨ulemek ic¸in c¸es¸itli y¨ontemler mevcuttur.
cat dosya1 dosya2 dosya3 ...
dosyaları birles¸tirerek ic¸eri˘gini ekranda g¨osterir.
more dosya1 dosya2 dosya3 ...
her bir sayfada, kullanıcıdan devam etmek ic¸in bir tus¸a basmasını ister
less dosya1 dosya2 dosya3 ...
ekranda g¨or¨unt¨ulenen dosya ic¸eri˘ginde, y¨on tus¸ları kullanılarak as¸a˘gı
yukarı gitmeyi sa˘glar.
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 14 / 57
15. Dosya ˙Ic¸eri˘gi G¨or¨unt¨uleme II
head [− < n >] <dosya>
˙Ilk n satırı (varsayılan 10) g¨osterir.
tail [− < n >] <dosya>
Son n satırı (varsayılan 10) g¨osterir.
tail -f <dosya>
Son n satırı (varsayılan 10) g¨osterir. Ekran kapanmaz, dosyaya yeni
satır eklendi˘ginde, bunları g¨osteriri.
¨Ornek olarak log dosyalarının izlenmesinde kullanılır.
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 15 / 57
16. ˙Ic¸indekiler
1 Temel Linux Komutları
Temel Linux Mimarisi
Temel Linux Komutları
2 Linux Dosya Sistemi
Giris¸
Dosya Sistemi Hiyerars¸i
Linux Dosya G¨uvenli˘gi
3 Dosya ˙Is¸lemleri
Giris¸
Eris¸im Modları
4 A˘g Ayarları
ifconfig
5 Linux Servisleri
init.d
6 Process
Giris¸
S¨urec¸ ˙Izleme
S¨urec¸ Sonlandırma
7 Paket Y¨onetimi
Giris¸
Kaynak Koddan Kurulum
8 Sistemin ˙Izlenmesi
Giris¸
Disk Durumu
RAM Durumu
CPU Durumu
A˘g Durumu
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 16 / 57
17. Dosya Sistemi I
Mantıksal dosya sistemi, farklı fiziksel dosya sistemi ic¸erebilir.
Fiziksel dosya sistemi, mount komutuyla mantıksal dosya sistemi
a˘gacına ba˘glanabilir.
Ba˘glı dosya sistemleri, ˙Is¸letim Sistemi ¨uzerinde mount table ile
y¨onetilir.
Bu s¸ekilde, ba˘glı dosya sistemlerinin k¨ok Inode bilgisine eris¸ilebilir.
S¸ ekil: Dosya sistemi
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 17 / 57
18. Dosya Sistemi II
S¸ ekil: Dosya sistemi2
2http://oracleappsdba-practicum.blogspot.com.tr/2015/05/logical-volume-management-
in-linux.html
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 18 / 57
19. Dosya Sistemi Hiyerars¸isi I
Table: Linux dosya sistemi hiyerars¸isi
Klas¨or Ac¸ıklama
/ K¨ok dizin (Root directory)
/home/ kullanıcıların ana dizini (home directory) ic¸erir.
/root/ root kullanıcısının ana dizini
/usr/ Sistemde yer alan t¨um kullanıcıların kul-
landı˘gı dosyalar (yazılımlar, k¨ut¨uphaneler,
dok¨umantasyon v.s.)
/usr/bin/ : b¨ut¨un kullanıcıların eris¸ti˘gi c¸alıs¸tırılabilir dosyalar
/usr/local/ : da˘gıtımla gelmeyen kullanıcıların y¨ukledi˘gi dosyalar
/usr/sbin/ : da˘gıtımla beraber gelen sistem dosyaları
/usr/share/ : /usr/bin/ ic¸inde bulunan programların paylas¸tı˘gı
veri
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 19 / 57
20. Dosya Sistemi Hiyerars¸isi II
/boot/ Bas¸langıc¸ dosyaları, Linux C¸ ekirde˘gi (Linux Ker-
nel), Bootloader
/boot/vmlinuz/ : Linux kernel image
/boot/grup/grup.conf : Bootlader
konfigurasyon dosyası
/boot/initrd/ : boot is¸lemi esnasında
kullanılan startup dosyaları
/bin/ Common programs, sistem, y¨onetici ve kul-
lanıcılar tarafından paylas¸ılan uygulamalar
/sbin/ sistem ve y¨oneticiler tarafından kullanılan uygula-
malar
/lib/ paylas¸ılan k¨ut¨uphaneler
/opt/ opsiyonel yazılımlar, ¨uc¸¨unc¨u parti uygulamalar
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 20 / 57
21. Dosya Sistemi Hiyerars¸isi III
/dev/ Device nodes, sistem yer alan her cihaz dosya
olarak tanımlıdır. Bir cihaz okuma/yazma is¸lemi
ic¸in burada bulunan dosya okunup/yazılır.
/etc/ sistem konfigurasyon dosyaları (windows dene-
tim masası)
/etc/fstab : storage devices and mount
points
/etc/passwd : kullanıcı hesaplarını ic¸erir
/var/ log dosyaları, mail kuyru˘gu, print spooler, in-
ternetten indirilen dosyalar ic¸in gec¸ici depolama
alanı, CD yazarken kullanılan gec¸ici alan v.s.
/var/log/ : log dosyaları
/var/log/messages sistem log
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 21 / 57
22. Dosya Sistemi Hiyerars¸isi IV
/net/ uzak dosya sistemleri ic¸in stndart ba˘glantı noktası
(mount point)
/media/ USB, CD-ROM gibi tas¸ınabilir cihazlar ic¸in ba˘glantı
noktası. Otomatik olarak ba˘glanır (mount).
/mnt/ Dijital kamera, CD-Rom s¨ur¨uc¨us¨u gibi dıs¸ cihazlar
ic¸in ba˘glantı noktası
/proc/ Sistem kaynakları hakkında bilgi okumak ic¸in kul-
lanılır.
/sys/ /proc/ ile aynı
/tmp/ sistem tarafından kullanılan gec¸ici alan
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 22 / 57
23. Linux Dosya G¨uvenli˘gi
Linux is¸letim sisteminin oldukc¸a basit, kimlik do˘grulama
(authentication) ve yetkilendirme (authorization) mekanizmasına
sahiptir.
Standart Linux is¸letim sistemi g¨uvenli˘gi
Kullanıcı ve s¸ifre do˘grulaması
Dosya ve Klas¨or eris¸im kontrol¨une sahiptir.
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 23 / 57
24. Linux Kullanıcı Hesapları
Her bir kullanıcı tekil bir kimli˘ge sahiptir (Unique ID - UID)
Her bir kullanıcı en az bir grup ¨uyesidir.
Her bir grub tekil bir kimli˘ge sahiptir (Group ID - GID)
¨Uc¸ farklı tip kullanıcı mevcuttur.
Super User: ”root” kullanıcısı. Sistemde yer alan b¨ut¨un kaynaklara kısıt
olmaksızın eris¸imi vardır. UID:0
Regular Users: Varsayılan olarak sadece ana dizinlerine (home
directory) eris¸im hakkı olan kullanıcılar. UID bilgileri 100’den y¨uksektir.
Pseudo Users: Sistem ic¸erisinde varsayılan olarak gelen (built-into
accounts) ve gerc¸ek bir kullanıcıyı yansıtmayan hesaplardır.
Kullanıcılar 16 farklı gruba ¨uye olabilirler. Sadece 1 ana grupları
(primary group) olabilir.
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 24 / 57
25. /etc/passwd Dosyası
Sistem yer alan kullanıcılar /etc/passwd dosyasında yer alır.
1 $ more /etc/passwd
2 ##
3 # User Database
4 #
5 # Note that this file is consulted directly only when the system is running
6 # in single-user mode. At other times this information is provided by
7 # Open Directory.
8 #
9 # See the opendirectoryd(8) man page for additional information about
10 # Open Directory.
11 ##
12 root:*:0:0:System Administrator:/var/root:/bin/sh
13 daemon:*:1:1:System Services:/var/root:/usr/bin/false
Her bir satır bir kullanıcıya aittir.
kullanıcı adı
s¸ifre. Yeni sistemlerde bu /etc/shadow ic¸erisinde yer almaktadır.
UID
Birincil (primary) GID
Ac¸ıklama
Ana dizin (home directory)
Varsayılan kabuk (default shell)
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 25 / 57
26. /etc/shadow Dosyası
Kullanıcıların s¸ifreleri ve c¸es¸itli bilgiler yer alır.
1 $ more /etc/shadow
2 root:$6$JDSl49LA$81PceTwN/kwT/
DJDnjDiQUxvQs2pJ1hn3DVO2NdBuuP7vcMxbW0Oe6sY0jx6kPrCY9gJGQXniL.
QDXiZFIS5k0:17057:0:99999:7:::
Her bir satır bir kullanıcıya aittir.
Kullanıcı adı
Encrypted password
Son s¸ifre de˘gis¸is¸imi. 1 Ocak 1970 tarihinden itibaren gec¸en g¨un sayısı.
UNIX-time count’ın ilk g¨un¨u.
Kullanıcının s¸ifresini de˘gis¸tirmesi ic¸in gec¸mesi gereken g¨un sayısı.
Sistemin kullanıcıyı s¸ifre de˘gis¸tirmesi ic¸in zorladı˘gı g¨un sayısı.
Kullanıcıya s¸ifresinin dolmak ¨uzere oldu˘gunu uyarmak ic¸in gerekli olan
g¨un sayısı.
S¸ ifre gec¸ersiz olduktan sonra kullanıcı hesabının dondurulaca˘gı g¨un
sayısı.
Kullanıcı hesabının kullanılmadı˘gı g¨un sayısını Unix-time count’a g¨ore
farkı
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 26 / 57
27. /etc/group Dosyası
1 $ more /etc/group
2 nobody:*:-2:
3 nogroup:*:-1:
4 wheel:*:0:root
5 daemon:*:1:root
6 kmem:*:2:root
7 sys:*:3:root
8 tty:*:4:root
9 operator:*:5:root
10 certusers:*:29:root,_jabber,_postfix,_cyrus,_calendar,_dovecot
11 _keytabusers:*:30:_calendar,_jabber,_postfix
/etc/group dosyası, sistemde yer alan gruplar, GID bilgisi, ¨uyeler gibi
bilgiler ic¸ermektedir.
Grup adı
S¸ ifre. Privileged group olus¸turuldu˘gu zaman kullanılır.
GID
¨uye kullanıcılar, vig¨ulle ayrılmıs¸ olarak.
Normal kullanıcılar /etc/passwd ve /etc/group dosyaları ic¸eri˘gi
g¨or¨unt¨ulenebilir ama de˘gis¸tiremez.
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 27 / 57
28. Kullanıcı ve Grup D¨uzenlemesi
Kullanıcıların olus¸turulması, d¨uzenlenmesi ve kaldırılması ic¸in
kullanılan arac¸lar:
useradd: Yeni kullanıcı eklemek ic¸in kullanılır.
usermod: Varolan bir kullanıcı ¨uzerinde de˘gis¸iklikler yapmak ic¸in
kullanılır.
userdel: Varolan bir kullanıcıyı silmek ic¸in kullanılır.
Gruplar ¨uzerinde de˘gis¸iklik yapmak ic¸in benzer komutlar mevcuttur.
groupadd
groupmod
groupdel
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 28 / 57
29. ˙Ic¸indekiler
1 Temel Linux Komutları
Temel Linux Mimarisi
Temel Linux Komutları
2 Linux Dosya Sistemi
Giris¸
Dosya Sistemi Hiyerars¸i
Linux Dosya G¨uvenli˘gi
3 Dosya ˙Is¸lemleri
Giris¸
Eris¸im Modları
4 A˘g Ayarları
ifconfig
5 Linux Servisleri
init.d
6 Process
Giris¸
S¨urec¸ ˙Izleme
S¨urec¸ Sonlandırma
7 Paket Y¨onetimi
Giris¸
Kaynak Koddan Kurulum
8 Sistemin ˙Izlenmesi
Giris¸
Disk Durumu
RAM Durumu
CPU Durumu
A˘g Durumu
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 29 / 57
30. Dosya Sahipli˘gi
Linux is¸letim sisteminde yer alan her bir dosya/klas¨or bir kullanıcı ve
bir gruba aittir.
Sahiplik bilgileri dosya/klas¨or olus¸turuldu˘gu anda atama is¸lemi yapılır.
1 $ ls -lh
2 total 24
3 drwxr-xr-x 25309 ozgurcatak staff 5,1M 12 Haz 16:25 msg
4 drwxr-xr-x 12 ozgurcatak staff 408B 21 May 00:39 nltk_data
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 30 / 57
31. Dosya/Klas¨or Eris¸im Modları I
¨Uc¸ farklı eris¸im modu mevcuttur.
Read, ”r”:
Write, ”w”
Execute, ”x”
Dosya ve klas¨or olmasına g¨ore yukarıda yer alan modların anlamı
de˘gis¸mektedir:
Dosyalar:
Read: Dosya ic¸eri˘gini g¨or¨unt¨ulemek ic¸in eris¸im
Write: Dosya ic¸eri˘gini de˘gis¸tirmek ic¸in eris¸im
Execute: Dosyayı c¸alıs¸tırmak ic¸in eris¸im (binary veya kabuk beti˘gi - shell
script)
Klas¨orler:
Read: Klas¨or ic¸eri˘gini g¨or¨unt¨ulemek ic¸in eris¸im.
Write: Dosya ic¸eri˘gini de˘gis¸tirebilme (dosya olus¸turma/de˘gis¸tirme/silme)
Execute: Klas¨or ic¸ine girebilme (cd komutuyla)
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 31 / 57
32. Dosya/Klas¨or Eris¸im Modları II
Her bir dosya/klas¨or eris¸im mdoları ic¸in ¨uc¸ adet k¨umeden olus¸ur.
-rwxrwxrwx ozgurcatak staff 708B 1 Haz 21:17 pygmentize.spec
Kırmızı renkli eris¸im blo˘gu, kullanıcıyı ifade eder.
Yes¸il renkli eris¸im blo˘gu group’u ifade eder. staff grubuna ait eris¸im
hakları.
Mavi renkli eris¸im blo˘gu ise di˘ger kullanıcıları ifade eder.
Bu ¨ornekte herkes dosyaya eris¸ebilir, de˘gis¸tirebilir ve c¸alıs¸tırabilir.
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 32 / 57
33. Yetki De˘gis¸iklikleri
Varsayılan olarak sadece super-user(root) kullanıcısı dosya/klas¨or
sahipli˘gini de˘gis¸trebilir.
Grup de˘gis¸ikli˘gi s¸u komut kullanılır:
1 $ chgrp [groupname] [filename(s)]
E˘ger hem kullanıcı hem de grup sahipli˘gi de˘gis¸tirilecekse:
1 $ chown [username]:[groupname] [filename(s)]
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 33 / 57
34. Eris¸im Modlarının De˘gis¸tirilmesi
Dosya/klas¨or sahipleri ve root kullanıcısı eris¸im modlarını (access
modes) de˘gis¸tirebilmektedir.
”chmod” komutu de˘gis¸iklik ic¸in kullanılmaktadır.
˙Iki farklı y¨ontemle kullanılmaktadır.
Symbolic mode: Eris¸im haklarının eklenmesi ve c¸ıkarılması ic¸in harf ve
sembollerin kullanılması s¸eklinde.
1 $ chmod [who][operation][permission(s)][filename(s)]
who: a: all, u: user, g:group, o:other
operation:
+: yetki ekleme ⇒ $ chmod u+r /tmp/test/file.
-: yetki c¸ıkarma ⇒ $ chmod g-x /tmp/test/file.
=: Yetki es¸itleme ⇒ $ chmod a=rw /tmp/test/*.
Octal Mode: $chmod [octal mode][filename(s)]
Read: 4 = 22
Write: 2 = 21
Execute: 1 = 20
¨Ornekler: 644 = rw-r–r–, 755 = rwxr-xr-x, 777 = rwxrwxrwx
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 34 / 57
36. Eris¸im Modları II
19 $ ls -lh
20 total 0
21 --w-rw---- 1 ozgurcatak staff 0B 15 Eyl 11:58 deneme01.txt
22 -rw-r--r--@ 1 ozgurcatak staff 0B 15 Eyl 11:58 deneme02.txt
23 -rw-r--r--@ 1 ozgurcatak staff 0B 15 Eyl 11:58 deneme03.txt
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 36 / 57
37. ˙Ic¸indekiler
1 Temel Linux Komutları
Temel Linux Mimarisi
Temel Linux Komutları
2 Linux Dosya Sistemi
Giris¸
Dosya Sistemi Hiyerars¸i
Linux Dosya G¨uvenli˘gi
3 Dosya ˙Is¸lemleri
Giris¸
Eris¸im Modları
4 A˘g Ayarları
ifconfig
5 Linux Servisleri
init.d
6 Process
Giris¸
S¨urec¸ ˙Izleme
S¨urec¸ Sonlandırma
7 Paket Y¨onetimi
Giris¸
Kaynak Koddan Kurulum
8 Sistemin ˙Izlenmesi
Giris¸
Disk Durumu
RAM Durumu
CPU Durumu
A˘g Durumu
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 37 / 57
38. ifconfig
ifconfig sistem mevcut a˘g kartları ile ilgili detaylı bilgi verir.
1 $ ifconfig en1
2 en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
3 ether 28:cf:e9:65:5f:63
4 inet6 fe80::2acf:e9ff:fe65:5f63%en1 prefixlen 64 scopeid 0x5
5 inet 192.168.2.6 netmask 0xffffff00 broadcast 192.168.2.255
6 nd6 options=1<PERFORMNUD>
7 media: autoselect
8 status: active
IP adres atama is¸lemi yapılabilir.
1 $ ifconfig eth0 192.168.2.121 netmask 255.255.255.0
Bulundu˘gumuz a˘g ¨uzerinde DHCP sunucusu olması durumunda IP adresleri otomatik olarak atanır.
A˘g kartını ac¸ıp/kapatmak ic¸in
1 $ sudo ifconfig en1 down
2 $ sudo ifconfig en1 up
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 38 / 57
39. ˙Ic¸indekiler
1 Temel Linux Komutları
Temel Linux Mimarisi
Temel Linux Komutları
2 Linux Dosya Sistemi
Giris¸
Dosya Sistemi Hiyerars¸i
Linux Dosya G¨uvenli˘gi
3 Dosya ˙Is¸lemleri
Giris¸
Eris¸im Modları
4 A˘g Ayarları
ifconfig
5 Linux Servisleri
init.d
6 Process
Giris¸
S¨urec¸ ˙Izleme
S¨urec¸ Sonlandırma
7 Paket Y¨onetimi
Giris¸
Kaynak Koddan Kurulum
8 Sistemin ˙Izlenmesi
Giris¸
Disk Durumu
RAM Durumu
CPU Durumu
A˘g Durumu
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 39 / 57
40. init.d
Linux is¸letim sisteminde yer alan servisler /etc/init.d/ klas¨or¨unde
bulunmaktadır.
Herhangi bir servisin durumunu ¨o˘grenmek ic¸in
1 $ service networking status
Servis bas¸latmak veya durdurmak ic¸in
1 $ service networking start
2 $ service networking stop
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 40 / 57
41. ˙Ic¸indekiler
1 Temel Linux Komutları
Temel Linux Mimarisi
Temel Linux Komutları
2 Linux Dosya Sistemi
Giris¸
Dosya Sistemi Hiyerars¸i
Linux Dosya G¨uvenli˘gi
3 Dosya ˙Is¸lemleri
Giris¸
Eris¸im Modları
4 A˘g Ayarları
ifconfig
5 Linux Servisleri
init.d
6 Process
Giris¸
S¨urec¸ ˙Izleme
S¨urec¸ Sonlandırma
7 Paket Y¨onetimi
Giris¸
Kaynak Koddan Kurulum
8 Sistemin ˙Izlenmesi
Giris¸
Disk Durumu
RAM Durumu
CPU Durumu
A˘g Durumu
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 41 / 57
42. Giris¸
Tanım: Linux is¸letim sisteminde c¸alıs¸an her bir ¨orne˘ge(instance of
execution) s¨urec¸ (process) denir.
Her bir s¨urecin tekil bir kimlik numarası (PID - Process ID) mevcuttur.
PID 15 bit sayıdan olus¸ur. 215
= 32768
1 $ cat /proc/sys/kernel/pid_max
2 32768
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 42 / 57
43. C¸ alıs¸an S¨urec¸leri ˙Izleme I
ps komutu kullanılarak c¸alıs¸an s¨urec¸ler ve durumları izlenebilir.
1 $ ps
2 PID TTY TIME CMD
3 2233 ttys000 0:00.30 login -pf ozgurcatak
4 6631 ttys000 0:00.03 sudo ps
5 6632 ttys000 0:00.00 ps
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 43 / 57
44. C¸ alıs¸an S¨urec¸leri ˙Izleme II
C¸ alıs¸an b¨ut¨un s¨urec¸leri g¨ormek ic¸in ps aux komutu kullanılır.
1 Ozgur-MacBook-Pro:test ozgurcatak$ ps aux
2 USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
3 ozgurcatak 6125 5,3 32,6 4310700 1367832 ?? S 2:29PM 8:02.97 /Applications/
VirtualBox.app/Contents/Resources/VirtualBoxVM.app/Contents/MacOS/VirtualBoxVM --comme
4 _windowserver 162 1,8 0,5 4037924 21124 ?? Rs Paz02PM 44:04.63 /System/Library/
Frameworks/ApplicationServices.framework/Frameworks/CoreGraphics.framework/Resources
5 ozgurcatak 2232 1,3 0,6 2800744 26288 ?? S Sal12PM 1:55.56 /Applications/
Utilities/Terminal.app/Contents/MacOS/Terminal
6 ozgurcatak 246 0,7 0,1 2475524 2788 ?? U Paz02PM 2:29.75 /usr/sbin/distnoted
agent
7 ozgurcatak 2087 0,3 0,2 3307856 9544 ?? S Sal09AM 1:36.30 /Applications/Adobe
Acrobat Reader DC.app/Contents/Frameworks/RdrCEF helper.app/Contents/MacOS/RdrCE
8 ozgurcatak 6499 0,1 0,2 2509444 10296 ?? S 7:36PM 0:00.44 /System/Library/
PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xp
9 _distnote 101 0,1 0,0 2473952 1104 ?? Ss Paz02PM 0:56.79 /usr/sbin/distnoted
daemon
10 ozgurcatak 772 0,1 1,1 3120332 44104 ?? S Pts11AM 4:11.82 /Applications/Adobe
Acrobat Reader DC.app/Contents/MacOS/AdobeReader -psn_0_421991
11 root 6595 0,0 0,2 2506660 6620 ?? Ss 7:52PM 0:00.10 /usr/libexec/amfid
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 44 / 57
46. S¨urec¸ Sonlandırma
kill: s¨urec¸ sonlandırma ic¸in kullanılan komuttur.
PID bilgisini kullanarak s¨urec¸leri kapatır.
Parametreler (Signals):
1 (SIGHUP): Servislerin konfigurasyon dosyalarını yeniden okuması ic¸in
kullanılır.
9 (SIGKILL): S¨ureci tamamen sonlandırılması ic¸in kullanılır.
1 $ kill -9 6743
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 46 / 57
47. ˙Ic¸indekiler
1 Temel Linux Komutları
Temel Linux Mimarisi
Temel Linux Komutları
2 Linux Dosya Sistemi
Giris¸
Dosya Sistemi Hiyerars¸i
Linux Dosya G¨uvenli˘gi
3 Dosya ˙Is¸lemleri
Giris¸
Eris¸im Modları
4 A˘g Ayarları
ifconfig
5 Linux Servisleri
init.d
6 Process
Giris¸
S¨urec¸ ˙Izleme
S¨urec¸ Sonlandırma
7 Paket Y¨onetimi
Giris¸
Kaynak Koddan Kurulum
8 Sistemin ˙Izlenmesi
Giris¸
Disk Durumu
RAM Durumu
CPU Durumu
A˘g Durumu
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 47 / 57
48. Paket Y¨onetimi
Paket y¨oneticisi (package manager), bilgisiyar programlarının
y¨uklenmesi, y¨ukseltilmesi, kaldırılması ic¸in kullanılan arac¸lardır.
Her Linux da˘gıtımının farklı paket y¨oneticisi vardır.
˙Is¸letim sistemine kurulacak hale getirilmis¸, metadata ic¸eren ars¸iv
dosyalarıdır (archive files).
En c¸ok kullanılanlardan biri APT (Advance Packaging Tool).
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 48 / 57
49. APT
$ apt-get
$ apt-get install package-name(s): Paket y¨ukler.
$ apt-get remove package-name(s): Paket kaldırır.
$ apt-get autoremove: ˙Ihtiyac¸ duyulmayan ba˘gımlılıkları kaldırır.
$ apt-get update: Sistemde yer alam /etc/apt/sources.list dosyasını
okur. Bu adreslerde yer alan paket bilgisini g¨unceller.
$ apt-get upgrade: Paketler ic¸in bir g¨uncelleme olması durumunda
g¨uncellemeyi uygular.
$ apt-cache: Lokalde bulunan APT vt yer alan bilgileri g¨or¨unt¨uler.
$ apt-cache search package-name(s): Kullanılacak paket adının sadece
bir kısmının bilindi˘gi durumlarda arama ic¸in kullanılır.
$ apt-cache show package-name(s): Paket hakkında ba˘gımlılık bilgisi,
versiyon numarası ve bazı temel bilgileri listeler
$ apt-cache depends package-name(s): Paketin ba˘gımlılı˘gı oldu˘gu di˘ger
paketleri listeler.
$ apt-cache rdepends package-name(s): (reverse depends) Bu pakete
ihtiyac¸ duyan paketleri listeler.
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 49 / 57
50. Kaynak Koddan Kurulum
Linux ¨uzerinde kaynak kod kullanılarak paket kurulumu yapılabilir.
Linux ¨uzerinde derleme yapabilmek ic¸in gerekli paketlerin y¨uklenmesi
gerekmektedir. $ apt-get install build-essential
Sırasıyla as¸a˘gıda is¸lemler yapılmalıdır:
$ ./configure: Kurulacak olan yazılımın ihtiyac¸ duydu˘gu k¨ut¨uphanelerin
sistemde olup olmadı˘gını denetler. Olmaması durumunda hata verir.
$ make: Program derlenir.
$ make install: Derlenmis¸ olan program, klas¨orde yer alan Makefile
dosyasına g¨ore kurulur.
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 50 / 57
51. ˙Ic¸indekiler
1 Temel Linux Komutları
Temel Linux Mimarisi
Temel Linux Komutları
2 Linux Dosya Sistemi
Giris¸
Dosya Sistemi Hiyerars¸i
Linux Dosya G¨uvenli˘gi
3 Dosya ˙Is¸lemleri
Giris¸
Eris¸im Modları
4 A˘g Ayarları
ifconfig
5 Linux Servisleri
init.d
6 Process
Giris¸
S¨urec¸ ˙Izleme
S¨urec¸ Sonlandırma
7 Paket Y¨onetimi
Giris¸
Kaynak Koddan Kurulum
8 Sistemin ˙Izlenmesi
Giris¸
Disk Durumu
RAM Durumu
CPU Durumu
A˘g Durumu
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 51 / 57
52. Sistemin ˙Izlenmesi
Disk Durumu
Ram Durumu
CPU Durumu
A˘g Durumu
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 52 / 57
53. Disk Durumu
df: (display free disk space) bos¸ disk durumunu g¨osterir.
-h (human readible) parametresi ile daha okunaklı hale gelir.
1 $ df -h
2 Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
3 /dev/disk1 222Gi 122Gi 100Gi 56% 32118805 26191849 55% /
4 devfs 185Ki 185Ki 0Bi 100% 640 0 100% /dev
5 map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net
6 map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 53 / 57
54. RAM Durumu
top komutu ile kontrol edilebilir.
1 Processes: 197 total, 3 running, 4 stuck, 190 sleeping, 1092 threads
21:21:40
2 Load Avg: 1.00, 1.22, 1.46 CPU usage: 3.65% user, 5.85% sys, 90.48% idle SharedLibs: 71M resident, 15M data, 11M linkedit.
3 MemRegions: 40768 total, 2071M resident, 33M private, 240M shared. PhysMem: 4074M used (2291M wired), 19M unused.
4 VM: 566G vsize, 535M framework vsize, 6998942(0) swapins, 7437256(0) swapouts. Networks: packets: 1916630/2211M in,
1411371/198M out. Disks: 3863429/79G read, 943160/53G written.
5
6 PID COMMAND %CPU TIME #TH #WQ #PORT MEM PURG CMPRS PGRP PPID STATE BOOSTS %CPU_ME %CPU_OTHRS UID
FAULTS COW MSGSENT MSGRECV SYSBSD
7 7507 top 1.7 00:00.28 1/1 0 21 3104K 0B 0B 7507 2237 running *0[1] 0.00000 0.00000 0 2762+
99 139374+ 69670+ 6604+
/proc/meminfo dosyası ile kontrol edilebilir.
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 54 / 57
55. CPU Durumu
vmstat, top ve htop kullanılarak CPU hakkında bilgiler elde edilebilir.
/proc/cpuinfo doyasında CPU ile ilgili c¸es¸itli bilgiler yer almaktadır.
1 $ vmstat 2 3
2 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
3 r b swpd free buff cache si so bi bo in cs us sy id wa st
4 0 0 0 2565728 34016 388852 0 0 261 49 62 125 1 1 98 0 0
5 0 0 0 2565752 34016 388852 0 0 0 0 81 115 0 0 100 0 0
6 0 0 0 2565752 34016 388852 0 0 0 0 86 123 0 0 100 0 0
Birinci parametre kac¸ saniyede bir yenilece˘gini g¨osterir.
˙Ikinci parametre kac¸ defa ekrana yazdırılaca˘gını g¨osterir.
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 55 / 57
56. A˘g Durumu
A˘g durumunun kontrol¨u ic¸in netstat kullanılır.
A˘g ba˘glantıları (hem gelen hem giden), y¨onlendirme tabloları ve a˘g
aray¨uz¨u istatistiklerini g¨or¨unt¨uleyen bir komut satırı aracıdır.
-a : T¨um aktif ba˘glantıları ve bilgisayarın dinledi˘gi TCP ve UDP portları
g¨or¨unt¨uler.
-s : Her bir protokol ic¸in istatistikleri g¨or¨unt¨uler.
-r : Y¨onlendirme tablosunun ic¸eri˘gini g¨osterir. (Windows altındaki
route print komutuna es¸de˘gerdir)
Dr. Ferhat ¨Ozg¨ur C¸ atak ozgur.catak@tubitak.gov.tr Temel Linux Bilgisi ˙Istanbul S¸ ehir ¨Universitesi 2016 - G¨uz 56 / 57