Linux Unix

Linux Dosya Sistemi ve İzinler

Linux üzerindeki dosya yapılarına ve dizin izinlerine değineceğim. Dosyalar bir kullanıcıya yâda bir guruba aittir. Dosyalara kullanıcı, tanımlanan gurup veya diğer kişiler erişim sağlayabilirler.

Dosya oluşturarak incelememize başlayalım. mkdir komutu dosya oluşturmayı sağlar. Dosyamızı nerede oluşturacaksak bunu belirterek  devam edelim. mkdir /deneme dediğim zaman kök dizine deneme adlı dosyayı oluşturmuş oldum. Eğer   ” / ” koymadan yapmış olsaydım bulunduğum dizine deneme diye bir dosya oluşturacaktı.

 

image001

Ls komutu bağlı olduğum dizindeki içeriği gösterecektir.image002
ls  komutunun çeşitli kullanımı mevcuttur. Bir dizinde çalışıyorsunuz başka dizinde olan dosyaları görüntülemek istiyorsanız.  ls dedikten sonra dizini belirtiniz örnek  ls /etc gibi dizini değiştirmeden size etc nin altındaki dosyaların içeriğini karşınıza getirecektir.

 

image003

Ls komutu sadece listelerken ls -la  komutu ise ayrıntılı olarak izinler, boyutları, oluşturma tarihi ve  gizli dosyaları getirecektir. Genel ve en sık olarak kullanılan ls -la dır.

 

image004

Oluşturduğumuz dosyanın içine gidebilmek için cd  komutunu kullanırız. Başka bir dizindeyse dosyamız / deneme diye ulaşabiliriz eğer aynı dizinin içinde bir dosyanın içine girmek istiyorsak  ” / ” yazmamıza gerek yok. Deneme dizininin içinde bir melih diye dosya olduğunu düşünelim farklı bir yerden de buraya erişmek için    cd  /deneme/melih yazabilirim eğer  deneme dizinin içindeyken melih dizinine erişmek istiyorsam    cd  melih yazmam  gerekecek. Aynı dizin içindeyken ” / ” kullanmıyoruz.

 

image005

Cd  komutu kullanarak birçok dosyanın içine erişim sağladık. O kadar çok dosya oldu ki nerede olduğumuzu hatırlamıyorsak eğer  ” pwd ” komutunu kullanıyoruz. Pwd komutu  ana dizin den başlayarak bütün dizinleri listeleyecektir bize.

 

image006

Echo komutunu kullanarak bireyler yazalım.  echo yazdıktan sonra istediğiniz i yazınız    yama işleminiz bittikten sonra ”  > ” yaparak   hangi isimde ve formatta yazacaksak onu yazalım.

 

image007

Echo komutuyla oluşturduğumuz dosyamızı açalım. Dosyaları açmak için editörleri kullanabilirsiniz. Editörlerin bir kaç tanesi   vi, gedit ve benzeridir. Ben ise kullanımını sevdiğim  joe  komutu. joe komutunu kullanarak açıyorum oluşturduğum deneme.txt  dosyamı.

 

image008

joe editörü kullanarak açtığım dosyanın içeriğini görüyorum. Echo komutunu kullanarak  içeriğine ekleme yapmıştır. joe editörüyle açtığım deneme.txt  dosyamın içeriğine eklemeler yapabilirim. Her editörün kullanımı kendine göre kolaylığı ve zorluğu vardır. Vi editörü kullanımı pek kolay değildir ama her Linux sürümünde standart olarak gelmektedir. Joe editörünün kullanımı daha kolaydır fakat buda standart olarak gelmemektedir. İstediğiniz zaman indirip kurabilirsiniz rpm paketi olarak yada sourceforge da bulabilirsiniz ücretsiz olarak. Gedit editörü görseldir Windows sistemlerde notepad e karşılık gelebilir.

 

image009

Kopyalama komutunu yapalım. cp  dedik den sonra kopyalamak istediğimiz dosyayı boşluk bıraktıktan sonra kopyalamak istediğimiz adı yazalım.

 

image010

Silme işlemi yapmak içinse rm komutunu kullanıyoruz. Silmek istediğiniz dosyayı   rm  dosya adı  şeklinde yazarız daha sonrasında onaylamamız için uyarı gelecektir. Eğer silmek istediğimiz dosyadan eminsek   “-rf ” komutunu kullanarak yapabiliriz. rm deneme.txt -rf  dersek deneme dosyasını onay gerektirmeden silecektir. Eğer bir dizin silmek isterseniz rmdir komutunu kullanmanız gerekmektedir. Rmdir dizin adı şeklinde yapabilirsiniz yâda gene aynı şekilde rm dizin adı  -rf şeklinde yapabilirsiniz.

 

image011

Dosya taşıma işlemi. Taşıma komutunu da ”  mv  ” la yapıyoruz. mv  dosya adı  değiştirmek istediğimiz dosya adı şeklinde yapabiliriz. mv  deneme.txt  melih.txt dersek   sadece dosya adını aynı dizin içinde değiştirecektir ama içeriğinde herhangi bir değişim yapmayacaktır. Eğer farklı bir dizine taşımak istiyorsanız   mv deneme.txt  /var/log/maillog   gibi yaparsak   dosyamızı /var/log/maillog dizinine taşıyacaktır. Bu tarz işlemleri yapmak için aynı dizinde olmanıza gerek yoktur bütün kopyalama silme ve taşıma işlemlerinde   farklı bir dizinde olsanız işlem yapabilirsiniz.  Kök dizindeyken   örnek verelim   mv /deneme/melih.txt  /var /log/maillog  gibi.

 

image012

Bir dizinden üst dizine geçmek veya root dizine geçmek için  cd komutunu kullanarak yapıyoruz. Bir üst dizine geçek için   cd ..  Kullanıyoruz root dizine geçmek için ise sadece cd yazmamız yeterli.

 

image013

ls -la da daha  önce dediğimiz gibi ayrıntılı listeleme yapacaktır. Sadece bildiğimiz bir dosya içinde de ls -la  dosya adı şeklinde listeleyebiliriz.

 

image014

İzin yapılarını inceleyelim birazda. Linux da izinler  okuma, yazma ve çalıştırma şeklinde dır. Aşağıda gördüğümüz gibi rwx    ” r ” read  ” w ” write   ” x ” execute   okuma, yazma ve çalıştırma şeklindedir. rwxrwxrwx şeklinde gördüğünüz yapı  3 bölüme bölünüyor. Birinci bölüm kullanıcı  ikinci bölüm gruplar  üçüncü bölüm ise diğerleri. Her bölüme ayrı ayrı okuma yazma ve çalıştırma  izni verebilirsiniz. Her bir gurubun okuma, yazma ve çalıştırma izinlerinin bir değeri vardır.

Kullanıcının izinlerinde   okuma 400  yazma 200  çalıştırma 100

Grupların izinlerinde  okuma 40 yazma 20  çalıştırma 10

Diğerlerinin izinlerinde okuma 4 yazma 2 çalıştırma 1

Örnek bir izin tanımlayalım değerlerinden.

Grup un okuma ve yazma izni olsun kullanıcının ise sadece çalıştırma izni olsun, toplamda 160 dır sadece bu değeri baz alarak izin verebiliriz.

 

image015

İzinleri chmod la değiştirebiliyoruz, melih.txt dosyasının bütün izinlere sahipken sadece kullanıcıya okuma izni veriyorum. Okuma iznini  değerini bildiğim için sadece değer vererek yapabilirim. chmod 400 melih.txt dersem   melih.txt dosyasına dosya sahibinin okuma izni olacaktır.

 

image016

Chown  kullanarak dosyanın sahipliğini değiştirebiliriz. Root a ait olan sahipliği  chown  ” kullanıcı adı ”  ” dosya adı  ”  şeklinde yapabilirsiniz. chown melih melih.txt  olarak  yaparsanız melih.txt dosyasının sahipliğini melih kullanıcısına vermiş oluruz.

 

image017

Dosya gurubunu değiştirmek için  chgrp   komutunu kullanıyoruz. chgrp  ” grup adı ”  ” dosya adı ”  şeklinde yapabilirsiniz.  chgrp altun  melih.txt   dersek    melih.txt dosyasına   erişim sağlayacak olan altun gurubuna vermiş olduk.

 

image018

Dosyanın gurubunu ve sahipliğini anlamak için ls -la komutunu kullanarak ayrıntılı listeleriz. İlk bölümde görünen ler dosya sahibi olanı gösteriyor ikinci bölümdeki ise erişim sağlayacak olan gurubu göstermektedir.

 

image019

Değer olarak izinleri tanımlamıştık. Şimdide normal olarak izin tanımlayalım. ” r ” read ” w ” write ” x ” execute leri kullanarak  izin verelim .  İzin vermek için  ” + ” yı  izin almak için  ” – ” vermeniz gerekmektedir. chmod   +x  melih.txt  dersek eğer   bütün çalıştırma izinlerini vermiş oluruz.  Aynı şekilde chmod -w    da ise  bütün yazma izinlerini kaldırmış oluruz.

 

image020

Eğer bütün izinler de  değil de  sadece kullanıcı, grup veya diğerlerinden kaldırma işlemi de yapabiliriz. Bunlar içinse   ” u ”  user  ” g ” group ” o ” Other şeklindedir. Gene aynı şekilde izin vermek için +  almak için se – kullanacağım. chmod go-x melih.txt  dediğimde   melih.txt dosyasından  grup ve diğerlerinden  çalıştırma izni alıyorum. chmod uo+r melih.txt  dediğimde ise  melih.txt dosyama  user lara ve diğerlerine  okuma izni veriyoruz.

 

image021

Bu örnekte de chmod ugo+w   dediğimiz dede  bütünlüğe yazma izni vermiş oluyoruz.

 

image022

Biraz olsun Linux da dosya oluşturma izinler tanıma ve başlangıç kullanımı için komutlardan bahsettim umarım yararlı olmuştur.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu