Bu yazıda açık kaynak işletim sistemi dersi için özet olarak hazırlanmış PDF ve PTT sunu notları içerir. Ders notlarında adım adım açık kaynak, linux tanımları yapılıp avantaj dezavantajları komut yapısı gibi bir çok kavram değerlendirilmiştir.
- Gpl Nedir? Açık Kaynak Kod Nedir?
- GPL Özgürlükleri
- GPL’nin Artıları
- GNU(Gnu is Not Unix )
- Açık Kaynak Kod Nedir ?
- Açık Kaynak Kodlu Yazılım
- Açık Kaynak Yazılımları Hazırlamak
- Açık Kaynak Kodlu İşletim Sistemi Yapısı
- Linux
- Linux’un Mimarisi
- İşletim Sisteminin Katmanları
- Linux’ün Avantajları
- Linux’ün Dezavantajları
- Dağıtımlar
- Dosya Formatları
- Windows-Linux Karşılaştırması
- Temel Masaüstü Kavramları ve İşlemleri
- KDE Masaüstü Ortamı
- Dosya Sistemi ve Çalışma Mantığı
- Dosya Tipleri ve Dosyaların Sınıflandırılması
- Dizin Hiyerarşisi
- Kök Dizin ve Alt Dizinler
- Dosya ve Dizinlerin İzinlerini Ayarlama
- Dosya ve Dizinlerin Kopyalanması ve Taşınması
- Çalışma Dizininin Değiştirilmesi ve Bulunulan Çalışma Dizininin Öğrenilmesi

Gpl Nedir? Açık Kaynak Kod Nedir?
Gpl’ nin açılımı General Public License yani Genel Kamu Lisansıdır. Çıkış sebebi açık kaynaklı kodların kapatılıp ticaret için kullanılması durumundan hoşlanmayan Richard Stallman tarafından oluşturulmuştur. Anlıyacağınız üzere Gpl özgür yazılımı koruyan bir belgedir.
GPL Özgürlükleri
- Programı sınırsız kullanma özgürlüğü.
- Programın nasıl çalıştığını inceleme ve amaçlara uygun değiştirme özgürlüğü.
- Programın kopyalarını sınırsız dağıtma özgürlüğü.
- Programın değiştirilmiş halini dağıtma özgürlüğü.
GPL’nin Artıları
Burada bizi ilgilendiren 2 lisans türü var biri EULA diğeri de GPL
- Kopyalayabilirsiniz
- Değiştirebilirsiniz
- Dağıtabilirsiniz
- Üretebilirsiniz
- Kullanabilirsiniz
- Satabilirsiniz
GNU(Gnu is Not Unix )
Serbest yazılım modeline verilen isimdir.
Yazılımın açık kaynak kodlu olmasını öngörmektedir.
GNU nun sağladığı açık kaynak kodu sayesinde isteyen herkes daha gelişmiş, özgün, üretken çalışmalarda bulunabilir.
GPL – GNU General Public License – GNU Genel Kamu Lisansı Linux çekirdeğini kullanan kullanıcılar sistemlerine Linux demektedir
Ancak GNU project GNU/Linux denmesini önerir.
Bir çok GNU programları diğer işletim sistemlerinde de kullanılmıştır.
(Windows, BSD, Solaris ve Mac OS gibi)
Açık Kaynak Kod Nedir ?
Açık kaynak kod istenildiği zaman bir programın hangi kodlardan oluştuğu göstereni içinde zararlı yada istemediğimiz bir kodun olup olmadığını öğrenebilmemiz sağlanan ticari bir durumun gütmeyen kodlara açık kaynak kodu diyoruz . En iyi avantajı ücretsiz olması ve istemediğimiz yada zararlı bir kodu görüp silebilmemiz ve istediğimiz gibi kodları Değiştirebilmemizdir.
Açık Kaynak Kodlu Yazılım
Açık kaynak kodlu yazılım (Open Source), kaynak kodu isteyen herkese açık olan yazılımlardır. Bu tür yazılımların ayırt edici özelliği kullanıcıya yazılımı değiştirme özgürlüğü sağlamasıdır.
Dünyanın her tarafından bilişim uzmanlarınca geliştirilen açık kaynak kod yazılımları, insanlığın ortak malıdır.
Açık kaynak kod yazılımlar hemen her alanda çözümler sunarak kapalı kod yazılımlara karşı tüketiciye seçenekler sunar.
Açık Kaynak Yazılımları Hazırlamak
Programcılar yazılımları geliştirirken kullandıkları programlama dilleriyle kaynak dosyaları oluştururlar.
Daha sonra derlemeli dillerde (C, C++, Java, Pascal) bu dosyayı derleyerek çalıştırılabilir hale çevirirler. Ve kullanıcıların ulaşabilecekler sunuculara yüklerler.
Açık kaynaklı yazılım savunucuları, her üretilen ve dağıtılan programla birlikte kaynak kodunun da dağıtılmasını savunurlar. Bu sayede geliştirme esnasında ve ilerde yeni sürümlerin ortaya çıkması esnasında düzeltilip daha kaliteli bir yazılım çıktığını düşünürler.
Açık Kaynak Kodlu İşletim Sistemi Yapısı
İşletim sistemi, bilgisayar donanımının doğrudan denetimi ve yönetiminden, temel sistem işlemlerinden ve uygulama programlarını çalıştırmaktan sorumlu olan sistem yazılımıdır. İşletim sistemi, bütün diğer yazılımların belleğe, girdi/çıktı aygıtlarına ve kütük sistemine erişimini sağlar.
Linux
- Linux, işletim sisteminin çekirdeğidir, aynı zamanda genel adıdır.
- Linus Torvalds tarafından 1991 yılında geliştirilmiştir.
- Günümüzde Özgür Yazılım (Açık kaynak kod) felsefesi olarak kabul edebileceğimiz bir yapı ile geliştirilmektedir (GNU/GPL).
- Çekirdek olarak Linux kullanan pek çok dağıtım adı verilen
- sürümü mevcuttur.
- Dağıtım, bir GNU/Linux sistemini kurmayı ve yönetmeyi
- kolaylaştırmayı amaçlayan yazılımlar bütünüdür.
- Ubuntu, Debian, Fedora, Pardus, KNOPPIX, OpenSuse…

Linux Dağıtımlarının Masaüstleri

Linux’un Mimarisi

İşletim Sisteminin Katmanları

Kernel (Çekirdek)
- Tüm işlemlerden sorumlu yönetim kademesidir.
- Sistemin düzgün çalışmasını sağlar,
- Bilgisayar kaynaklarının düzenlenler,
- Kullanıcıların görevlerinin sırayla yapılmasını sağlar,
- Bellek denetimi yapar,
- Yan birimlerin (CD-ROM,disket sürücü vb. çalışmasından sorumludur.
Shell (Kabuk)
- Bilgisayar ile kullanıcı arasındaki bağlantıyı sağlar.
- Girilen komutları bilgisayara , sonuçları kullanıcıya iletir.
User= Kullanıcı
Utilities= Yardımcı Programlar
Hardware= Donanım
Kernel= Çekirdek
Shell= Kabuk

Shell (Kabuk) Terminal

Linux Kullanım Amaçları
Kişisel Kullanım
- Linux’ta bir işletim sisteminden beklenebilecek tüm yazılımlar bulunur…
- Örneğin applixware ve open office yazılımları red hot dağıtımıyla birlikte verilmektedir…
Yazılım Geliştirme
- C,C++,Java,Ada,Fortran,Pascal,Lisp başta olmak üzere hemen hemen her programın derleyici ve yorumlayıcısı Linux’te mevcuttur…
İnternet Haberleşmesi
- Bir modemin sunduğu olanakların hepsini Linux ile de kullanabiliriz…
- k-mail ile mail okuyabilir, haber öbeklerinde tartışma gruplarına katılabilriz…
İnternet Sunucusu
- Üzerine sunucu sistemi kurulup dosya paylaşımları ve diğer yazılım ve donanım paylaşımları yapılır.
Linux Avantajları
- Ücretsizdir.
- Kaynak kodu serbesttir.
- Hızla gelişiyor.
- Daha güvenlidir.
- Yüksek performans sağlar.
- İsteğe bağlı geliştirilebilir.
- Birden çok kullanıcıyı destekler.
- Uygulama programları sistemden bağımsız çalışır.
- Ek yazılım ve sürücü kurulmasına ihtiyaç duymaz
Linux Dezavantajları
- Yeterince tanıtımı yapılmıyor.
- Dinamik ve sürekli değişen bir yapıya sahiptir.
- Teknik destek, dağıtım ve dökümantasyon alanında zayıftır.
- Linux’un kullanım ve yönetimi daha zordur.
- Tüm ihtiyaçlara cevap veremiyor.
- Bazı ticari yazılımlar Linux üzerinde fazla gelişemiyor.
- Oyunlar ve eğlenceli uygulamalar azdır.
- Basit kullanıcıya bazen korkutucu, karışık gelebilir.
Dağıtımlar
Linux, GNU projesinin çekirdeğe verilen isimdir. Dağıtımlar, bu çekirdeğe GNU yazılımlarının da ekleyerek sunan alternatif işletim sistemleridir. Yazılımlar GNU tarafından sağlandığı için Linux tabanlı işletim sistemleri GNU/Linux olarak adlandırılır.
En çok bilinen kullanılan dağıtımlar: RedHat, Fedora, Suse, Debian, Mandrake, Ubuntu, Pardus ve Slackware’dir. Bunların yanısıra doğrudan CD’den çalışan Knoppix, Kanotix gibi dağıtımlar vardır.
Dağıtımlar arasındaki farklar nelerdir?
- Kurulum yöntemleri farklı
- İçerdikleri paketler farklı
- Kullanıcı arayüzleri farklı
- Sistem yönetiminde farklar var
Dosya Formatları
Linux sistemlerin dosya sistemi, DOS/Windows sistemlerdeki dosya sisteminden farklıdır. Örneğin Windows XP, FAT32 ya da NTFS dosya sistemlerini kullanırken, Linux sistemler ext2 ve ext3 olarak isimlendirilen dosya sistemlerini kullanırlar. Dolayısıyla, kurulumdan önce Linux kuracağınız bölümdeki bilgilerin tümüyle silineceğini bilmelisiniz.
Linux; FAT32, NTFS gibi diğer dosya sistemlerini tanır ve bu şekilde biçimlendirilmiş ortamlara erişimi destekler. Fakat Windows işletim sistemleri, Linux dosya sistemleri olan ext2, ext3 ve ext4 ile biçimlendirilmiş disk bölümlerini tanımazlar.
Linux işletim sistemi, sistem dosyalarını ve kullanıcı dosyalarını ayrı ayrı bölümlerde tutabilmeye olanak sağlamaktadır. Örneğin sistem dizinlerini ayrı bir bölümde, kullanıcı /home dizinini ayrı bir bölümde, sistem günlüklerinin ve değişkenlerinin tutulduğu /var dizinini ise başka bir diskte ya da bölümde tutmak mümkündür.
Örneğin çok kullanıcılı bir makinede, kullanıcı dizinlerinin ayrı bir diskte veya disk bölümünde tutulması uygun olacaktır. Buna benzer ihtiyaçlara göre sistem bölümlendirmesi oluşturulmalıdır.
Windows-Linux Karşılaştırması
Yazılım: Windows’un her versiyonu sınırlı sayıda uygulama içeriyor. Linux’ta ise ana işletim sistemi ile beraber verilecek yazılımların sayısına dağıtıcı karar veriyor. Linux’un bu noktadaki avantajı, yazılımların kurulmasını sağlayan uygulamaların tek bir yönetim sistemi tarafından idare edilmesi. Bu sayede kullanıcı her bir yazılımı tek tek kurmak yerine, tek bir kurulum ile işlemi gerçekleştirir.
Kurulum: Kurulum açısından iki işletim sistemi de birbirine çok yakın. Hem Windows hem de Linux’un kurulum aşamaları oldukça kolay ve kurulum sırasında amatör kullanıcıya yardımcı olan menüler var. Bilinen güvenlik açıkları, sistemdeki ve uygulamadaki hatalar Windows’ta olduğu gibi Linux’ta da güncelleme yoluyla ortadan kaldırılabiliyor.
Yeni Donanım Ekleme: Kurulum aşamasından sonra bilgisayara takılan donanımları Windows genellikle tanıyor. En kötü ihtimalle bilgisayar baştan başlatıldığında, donanım kullanıma hazır hale geliyor.
Linux’ta yeni takılan donanımı otomatik olarak algılama ve kullanıma hazır hale getirme özelliğine sahip. Ancak bu özellik Linux işletim sisteminde takılan donanımın sürücüleri mevcutsa devreye giriyor. Birkaç firma hariç, çoğu firma Linux için donanım sürücüsü çıkarmıyor.
Ofis Programları: Windows altında Microsoft Office, en gelişmiş büro paketi iken, Linux’ta bu rolü Open Office oynuyor. Open Office çok basit bir program olduğundan kullanıcılar çok çaba harcamadan programı kavrayıp kullanabiliyorlar. Open Office1.1.1 versiyonundan itibaren herhangi bir dokümanın Microsoft formatına geçirilmesi veya başka bir ofis dokümanıyla bilgi alışverişi yapması sorun oluşturmuyor.
Virüsler: Günümüzde Linux için de virüsler bulunmasına rağmen, bunlar az sayıda olduklarından ve dosyaların içine gizlenerek bilgisayardan bilgisayara kopyalanamadığından dolayı tehlike oluşturmaz. Linux’ta e-posta ile gelen dosyalar kullanıcıya ulaşır ulaşmaz otomatik çalışmadığı için virüs taşıyan bir eposta sorun olmaktan çıkıyor. Kullanıcı dosyayı gördükten ve güvenli olduğuna inandıktan sonra çalışma iznini veriyor.
Ayrıca Linux’ta browser ve işletim sistemi ayrılmış olduğundan kullanıcı onayı olmadan açılan postalar ve web sayfaları virüs bulaştıramıyor.
Oyunlar: Her iki işletim sisteminde de standart olarak basit oyunlar bulunuyor. Ancak Linux’la birlikte gelen ufak oyun sayısı Windows’tan fazla. Her ne kadar Linux gelişmiş oyunları çalıştırabilse de piyasada Linux için oyun bulunmuyor. Güncel oyunları rahat bir şekilde oynamak sadece Windows’ta mümkün.
Masaüstü: Windows’ta sürükle&bırak özelliği ile herhangi bir uygulamaya yazı veya resim kopyalamak mümkün. Linux’ta ise Open Office programının içindeki uygulamalar arasında sürükle&bırak özelliği kullanılabilirken, diğer Linux uygulamaları ile Open Office arasında bu şekilde bilgi alışverişi yapmak her zaman mümkün olmuyor.
Güvenlik: Linux’un tamamen güvenilir bir işletim sistemi olduğu söylenemez. Ancak Linux güvenlik açısından Windows’tan daha ileride. Örneğin Linux İnternet Explorer ve Outlook Express gibi güvensiz programları kullanmıyor.
Ağ hizmetleri konusunda iki işletim sisteminde de yanlış ayarlama yapıldığı takdirde büyük güvenlik açıkları ortaya çıkabiliyor.
Ancak Linux geliştirilmeye çok açık bir sistem. Çok yüksek derecede güvenliğe ihtiyaç duyulduğunda, Linux işletim sistemini Selinux (security-enhanced linux) ile bir güvenlik kalesine çevrilebiliyor.
Multimedya: Hem Windows hem de Linux altında çoğu ses ve video dosyasını extra bir araca ihtiyaç duymadan çalıştırmak mümkün. Basit görevler için Linux daha iyi donatılmış olmasına rağmen, profesyonellere hitap etmekte biraz güçlük çekiyor. Windows ‘ta XP ile gelen Windows Movie Maker basit videoları çalıştırmak için yeterli bir program. Linux’ta ise Suse buna karşılık “Main Actor5.2” programının demosunu sunuyor. Tam versiyonu kullanmak için ise belli bir ücret ödemek gerekiyor.
Ayrıca Linux’ta Adobe Photoshop gibi resim işleme programlarının yerini tutabilecek bir yazılım henüz geliştirilemedi.
Dil Desteği: Microsoft’un yazılımları Türkiye’de anlaşmalı olduğu bir kurum tarafından çevrildiğinden, piyasadaki tüm Windows’larda aynı dil kullanılmakta.Linux’ta ise dağıtımlarda bulunan uygulamalar tek bir kurum tarafından çevrilmediğinden tamamen Türkçeleşmiş Linux’tan bahsetmek zor.
Ağ ve İnternet: Daha önceden kurulmuş olan bir ağa bağlanmak hem Windows’ta hem de Linux’ta çok kolay. Eğer çevirmeli bağlantı ile internete bağlanılacaksa Windows’ta çok daha hızlı gerçekleşiyor. İnternet kullanıcıları açısından Linux’ta Windows’tan çok daha iyi performans gösteren yazılımlar bulunuyor.
Temel Masaüstü Kavramı ve İşlemleri
X-Window
X-Window sisteminden önce UNIX, terminal tabanlı ve grafik desteği olamayan bir sistemdi. X Window’un tasarlanması sayesinde grafik tabanlı uygulamalar da UNIX türevi işletim sistemlerinde boy göstermeye başladılar.
X-Window sistemi, UNIX sistemler için geliştirilmiş geniş ve güçlü bir grafik ortamıdır. X-Window’un Linux altında çalışması için gereken yazılım Xorg, Pardus’ta hazır gelir. Dolayısıyla Pardus’u kurduktan sonra, hemen grafik ortamda çalışmaya başlayabilirsiniz.
KDE Masaüstü Ortamı
Xorg’un üzerinde çalışan uygulamalar ise KDE adı verilen bir pencere yöneticisi yardımıyla görüntülenir. Temel olarak masaüstü ortamı olarak görev yapsa da içerisinde barındırdığı birçok yazılım sayesinde masaüstü kullanıcılarının hemen hemen tüm ihtiyaçlarına cevap verir.
Dosya Sistemi ve Çalışma Mantığı
Dosya Sistemi
Linux işletim sisteminde dosya ve dizinler diğer Unix türevi işletim sistemlerinde olduğu gibi hiyerarşik bir yapıya sahiptirler. En üst düzeyde bulunan ve kök dizini diye adlandırılan dizin alt dizin olarak adlandırılan dizinleri içermektedir
Ayrıca bu alt dizinlerde kendi içlerinde dosya ve alt dizin içerebilmektedir. Dizin yapısı isteğe göre belirlenmiş değildir. Paketlerin düzgün şekilde çalışabilmeleri için önemli dosya ve dizinlerin yeri standartlaştırılmıştır.
Dosya Tipleri ve Dosyaların Sınıflandırılması
Linux’ta bir dosyaya isim verirken tüm alfabetik karakterler , alt cizgi ( _ ) , rakam, nokta , virgül kullanılabilmektedir. Dosyalara isim verilirken dikkat edilmesi gereken kurallardan biri dosya isminde * , ? gibi karakterlerin bulunmamasıdır. Dosya isminin uzunluğu 256 karakteri geçmemelidir. Ayrıca bir dosyanın büyüklüğü de 2 GB ile sınırlıdır.
Linux işletim sisteminde çalıştırılabilir dosyaların belli bir uzantıya sahip olması gerekmemektedir. Bir dosyanın çalıştırılıp çalıştırılamayacağı dosyanın dizinlerinden anlaşılmaktadır.
Linux işletim sisteminde temelde 2 farklı dosya tipi bulunmaktadır:
- Aygıt Dosyaları
- Sıradan Dosyalar
Aygıt dosyaları, sistemde bulunan donanım ile haberleşmeyi gerçekleştiren dosyalardır. Üç farklı aygıt dosya tipi bulunmaktadır.
Karakter aygıt dosyaları: Bu tip aygıt dosyası ile erişilen donanımlar bilgilerini karakter karakter iletmektedirler.
Blok aygıt dosyaları: Bu tip aygıt dosyası ile erişilen donanımlar ile iletişim blok aktarma ile gerçekleştirilmektedir.
Kuyruk Dosyaları, Sıradan dosyalar ise aygıt dosyaları dışında kalan dosyalardır. Çok fazla çeşitte sıradan dosya tipi bulunmaktadır.
Dosya sistemi, işletim sisteminin, dosyaları diskte tutabilmek için kullandığı yapılar ve yöntemlere verilen addır. Yani bir anlamda dosyaların diskteki düzenidir diyebiliriz. Bu düzen kapsamında bir hiyerarşiden bahsedebiliriz.
Dizin Hiyerarşisi

Hiyerarşinin en üstünde kök dizini (ing. root directory) yer alır ve “/” karakteriyle gösterilir. Diğer dizinler de bu kök dizininin altında toplanmışlardır.
Bir dizin ya da dosyanın, sistemdeki konumu, o dosya/dizinin “yol”’uyla belirtilir. Yol, kök dizininden itibaren, o dosya/dizine ulaşmak için geçilmesi gereken dizinlerin “/” işaretiyle birleştirilerek ardışık bir şekilde yazılmasıyla elde edilen ifadedir.
Örneğin; “/home/kemal” yolu, kök dizinindeki, home isimli dizinin içindeki kemal dizininin konumunu belirtir. Sisteminizde erişilebilir her dizin/dosyanın yeri, (diğer disklerdekiler de dahil olmak üzere) bu şekilde tarif edilebilir.
Kök dizini diğer tüm dizin ve dosyaları içeren dizindir. Kök dizinin bulunduğu disk bölümünün sahip olması gereken önemli bir özellik bulunmaktadır. Kök dizinini içeren disk bölümü sistemi tek kullanıcılı açmak için gerekli tüm dosyaları içinde barındırmalıdır. Bu işletim sistemin açılabilmesi için gerekli bir kuraldır.
Kök dizininde bulunan dizinlerden ve bu dizinlerin kullanılışlarından kısaca bahsedelim:
/bin : Tüm kullanıcıların kullanabildiği temel komutları (cp, mv, ls gibi..) içerir.
/boot : Açılış işlemi (ing. boot) sırasında kullanılan dosyaları (çekirdek görüntüsü, sistem haritası, önyükleyici yapılandırması gibi..) içerir.
/dev : Bilgisayarınızdaki, donanımlarla (sabit diskler, fare gibi..) iletişim kurulabilmesi için gereken özel aygıt dosyalarını içerir.
/etc : Dizin, bulunduğu bilgisayara özel, birçok yapılandırma bilgisini içerir.
/home : Bu dizin altında, kullanıcıların kişisel verilerini, yapılandırmalarını kaydettikleri çalışma alanları olan ev dizinleri bulunur. Her kullanıcının ev dizini kendi kullanıcı adını taşır.
/lib : Çekirdek modülleri ve paylaşılan kod kütüphanelerini içerir. MS Windows’ta dll uzantısına sahip olan paylaşılan kütüphane dosyaları, Linux’ta so uzantısına sahiptir.
/mnt : Çeşitli dosya sistemi/aygıtların (örneğin, CD, DVD sürücünüz, diğer sabit diskleriniz gibi..) bağlama noktaları burada bulunur.
/proc : Süreçler, sistem belleği, bağlı aygıtlar, donanım yapılandırmalarıyla ilgili bilgileri içeren özel bir “sanal” dosya sistemidir. Bir bilgi alma merkezi olarak görülebilir. Birçok uygulama buradaki bilgilerden yararlanmaktadır.
/root : Sistem yöneticisinin (yani “root” kullanıcısının) ev dizinidir.
/usr : Tüm kullanıcılarca paylaşılan verileri (örneğin programlar, komutlar, kütüphaneler, dokümanlar gibi) içeren dizindir.
/usr/bin : Normal kullanıcılar tarafından kullanılan komutlar.
/usr/sbin : Sistem tarafından kullanılan ve sistemin açılması ,kapanması ve tek kullanıcılı modda çalışması ile ilgili olmayan programlar.
/usr/lib : Programlama için kullanılan kütüphaneler.
/usr/include: C/C++ için kullanılan başlık dosyaları.
/usr/doc : Dökümanların bulunduğu dizin.
/usr/man : Man dosyaları
/var : Değişken verileri içerir.(örneğin rapor dosyaları, veritabanları, kuyrukta bekleyen yazdırılacak dokümanlar gibi)
/var/lock: Çalışan programların yarattığı kilit dosyaları.
/var/log : Log dosyaları.
/var/run : Sistemde çalışan sunucuların proses kimlik numaralarını içeren dosyalar
/var/tmp : Geçici dosyalar.
/var/yp : NIS ile ilgili dosyalar.
/var/spool : Kuyruk dosyaları.
- mail : Kullanıcıların e-postalarının tutulduğu dizin.
- mqueue: E-posta kuyruğunda bekleyen epostalar için yaratılan geçici kuyruk dosyalarının bulunduğu dizin.
- lpd : Yazıcı kuyruğunda bekleyen işler için geçici dosyaların bulunduğu dizin.
/tmp : Geçici dosyaları içerir. Yalnız geçici olduğu için bu dosyaları silmek tehlikeli olabilir.
Dosya ve Dizinlerin İzinlerini Ayarlama
Dizin ve dosyalar erişim haklarının belirlenmesi için izinler kullanılmaktadır. Linux işletim sisteminde izinler 3 farklı grup olarak verilebilmektedir:
- Dosyanın sahibinin izinleri
- Dosyanın grubunun izinleri
- Diğer kullanıcıların izinleri
Dosyaların ve dizinlerin sahip olduğu izinleri görmek için ls komutu kullanılmaktadır.
1 2 3 4 5 6 | [root@atlas /root]# ls -ld Projects/ drwxr-xr-x 3 root root 4096 Aug 25 2000 Projects/ [root@atlas /root]# ls -l smb.conf -rw-r--r-- 1 root users 10852 Jun 30 2000 smb.conf |
İzinler ls çıktısında ilk kısımda belirtilmekte ve 4 ayrı kısımdan oluşmaktadırlar. Bu kısımlar: Dosyanın tipini belirten kısım: İzin kısmının başında bulunan kısımdır. Bu bilgi kullanılarak dosyanın sade bir dosya , dizin , aygıt sürücüsü , veya link öğrenilebilmektedir.
- Normal dosyalarda – işareti gözükmektedir.
- Dizinler için d işareti gözükmektedir.
- Karakter bazında işlem yapan aygıt sürücüleri için c işareti gözükmektedir.
- Blok bazında işlem yapan karakter sürücüleri için b işareti gözükmektedir.
- Başka bir dosyayı işaret eden link’ler için l işareti gösterilmektedir.
- Dosyanın sahibinin haklarını belirten kısım: Bu kısımda dosyanın sahibinin dosya üzerindeki hakları tanımlanır.
- Dosyanın grubunun Haklarını belirten kısmı: Bu kısımda dosyanın dahil olduğu grubun dosya üzerindeki hakları tanımlanır.
- Diğer kullanıcıların hakları: Sistemde bulunan tüm kullanıcıların dosya üzerindeki hakları tanımlanır.
Kullanıcıların dosyalar üzerinde 3 farklı işlem yapabilmektedirler:
- Dosyayı okuma
- Dosyaya yazma
- Dosyayı çalıştırma
Kullanıcıların hakları bu işlemlerden hangilerini yapmaya yetkili olduklarına göre değişmektedir.
Yukarıda gösterdiğimiz ls çıktısını göz önüne alalım:
1 2 3 | -rw-r--r-- 1 root users 10852 Jun 30 2000 smb.conf |
İzinlerin başında bulunan – işaretinden dosyanın sıradan bir dosya olduğu anlaşılmaktadır.
Kullanıcılar dosyalar üzerinde 3 farklı işlem yapabildiklerinden dosya üzerindeki hakları 3’lü gruplar olarak gösterilir.
Dosyanın sahibi olan “root” kullanıcısının dosya üzerinde okuma ve yazma hakkı bulunmaktadır.
Çalışma izni olmadığı için bu iznin belirtildiği kısımda – karakteri gözükmektedir. Dosyanın dahil olduğu grup olan “users” grubuna dahil kullanıcıların dosya üzerinde sadece okuma izni bulunmaktadır. Sistemdeki tüm kullanıcılar da dosya üzerinde okuma hakkına sahiptirler.
Dizinler için çalıştırabilme hakkı , dizine geçip geçememek anlamına gelmektedir. Dizin için çalıştırma hakkına sahip olan bir kullanıcı o dizine geçebilmektedir.
Dosya ve dizinlerin izinleri sahipleri tarafından değiştirilebilmektedir. İzinlerin değiştirilmesi amacıyla chmod komutu kullanılmaktadır.
Chmod komutu 2 farklı şekilde çalıştırılabilmektedir:
- Yeni izinin sayısal değerinin verilmesi ile
- Yapılacak değişiklik sembolik olarak verilmesi ile
İzinler 3 farklı grubun dosya üzerinde 3 farklı işlevden hangilerini yapabileceklerini belirtir. Her grup tek başına ele alınıp izinlerin değerleri toplanarak sayısal değerler elde edilir.
rw-r–r– iznini ele alalım :
Dosyanın sahibinin hakları: rwVerilen haklar için bir verilmeyen haklar için 0 konularak izinin 2’li düzendeki görüntüsü elde edilir.
rw- 110
2’li tabandaki sayı 10’luk tabana çevrilerek izinin sayısal değeri elde edilir.
110 = 6
Grubun hakları
r– 100 = 4
Diğer kullanıcıların hakları
r– 100 = 4
rw-r–r– 110 100 100 644
Bir dosyanın kullanıcısına tüm hakları , grubuna okuma diğer kişilere ise hiç bir hak vermemek için chmod komutu aşağıdaki şekilde kullanılır.
Kullanıcıya Tüm İzinler rwx 111 7
Gruba Okuma r– 100 4
Diğer kullanıcılara hiç hak verilmemesi — 000 0
chmod 740 dosya_ismi
İzinlerin ayarlanması için chmod komutuna verilecek parametreler sembolik olarak da verilebilmektedir. Sembolik gösterimde izinler üzerinde yapılacak değişiklikler semboller vasıtasıyla gösterilmektedir.
Kullanıcı gruplarının sembolleri aşağıdaki gibidir:
- Dosyanın sahibi : u (user)
- Dosyanın Grubu : g (group)
- Diğer Kullanıcılar : o (others)
İzinlerin sembolleri aşağıdaki gibidir:
- Okuma izini : r (read)
- Yazma izini : w (write)
- Çalıştırma izini : x (execute)
Dosya üzerinde izinleri vermek için + , izinleri çıkarmak için – sembolleri kullanılmaktadır.
Yorum yap