Kategori arşivi: Linux

Linux Dosya İzinleri Değiştirme

Sistemimizde yer alan bir dosyanın ya da klasörün güvenliğini sağlamak istiyorsak izinleri doğru bir şekilde yapılandırmamız gerekmektedir. Linux işletim sistemlerinde dosya izinlerini ayarlamak için chmod komutunu kullanmaktayız. Dosya izinlerini ayarlarken chmod komutu değerler almaktadır. Chmod komutunun aldığı izin değerleri şu şekildedir;

Yöntem1
400 Sahibi okur
200 Sahibi yazar
100 Sahibi çalıştırır
040 Grubu okur
020 Grubu yazar
010 Grubu çalıştırır
004 Diğerleri okur
002 Diğerleri yazar
001 Diğerleri çalıştırır

Örnek;
chmod 777 deneme

Yukarıdaki komut ile sistemimizde yer alan deneme isimli klasörümüzün tüm yetkilerini herkese açmış olduk. Bu işlem için yukarıda yazdığımız bütün değerleri toplayarak chmod içinde kullanarak tüm yetkileri herkese açtık.
400+200+100+040+020+010+004+002+001=777

Sizde dosyalarınıza veya klasörlerinize vermek istediğiniz yetkiye göre gerekli değerleri verebilirsiniz.

Örnek2;
chmod 700 deneme

Yukarıdaki örnekte ise deneme klasörümüze sadece sahibi okur (400), sahibi yazar (200), sahibi çalıştırır (100) yetkilerini verdik. Yani chmod değerini 400+200+100 olarak hesaplayarak belirttik.

Yöntem 2
Chmod komutumu farklı bir yöntem ile de kullanabiliriz. Bu yöntem için ilk olarak aşağıdaki değerleri öğrenmeliyiz;

u : Dosyanın sahibi olan kullanıcı
g : Dosya sahibi ile aynı grupta yer alanlar
o : Diğer kullanıcılar
a : Herkes
+ : Yetki Ekleme
= : Yetki eşitleme
: Yetki çıkarma
r : Okuma Yetkisi (read)
w : Yazma Yetkisi (Write)
x: Çalıştırma Yetkisi (Execute)

Bu bilgileri öğrendikten sonra chmod komutunu kullanarak klasör ve dosya izinleri ile ilgili birkaç örnek yapalım;

Örnek1;
chmod u+w ornek.txt

Yukarıdaki örneğimizde bulunduğumuz dizinde yer alan ornek.txt dosyasına sahibi için yazma yetkisini vermiş olduk. U karakteri sahibini, + karakteri yetkinin ekleneceğini, w karakteri verilen yetkiyi belirtmektedir.

Örnek2;
chmod g-x ornek.txt

Yukarıdaki örneğimizde ise bulunduğumuz dizinde yer alam ornek.txt dosyasına grubu için çalıştırma yetkisini çıkarmış olduk.

Chmod komutu belirttiğimiz gibi iki şekilde de kullanabilirsiniz. İkinci yöntemin kullanımının kolay olmasından dolayı daha çok tercih edildiğini belirtmek isterim.

Linux Klasör Boyutu Öğrenme

Bazı durumlarda klasörlerimizin toplam boyutunu görme ihtiyacı duyabiliriz. Bu işlem için Linux sistemlerde du komutu kullanılmaktadır.

Komutun Kullanımı;
du

Örnek1;
du

Yukarıdaki komutu uyguladığımızda bulunduğumuz konumda yer alan bütün klasörlerin boyutları ekranda gösterilecektir.

Örnek2;
du -sh /home/deneme

Bu komutta ise sistemimizde home klasörünün içinde yer alan deneme isimli klasörümüzün boyutu ekranda gösterilmiş olacaktır. Du komutunun alabileceği diğer parametreler şu şekildedir;

-a Geçerli dizinde bulunan her dosya için boyutu gösterir.
-c Diğer argümanlar tarafından disk kullanımının toplama gösterilir.
-h Çıktı değerlerini daha anlaşılabilir durumda yazdırır.
-k Klasör boyutlarını 1024 ve katları şeklinde gösterir.
-L Her yerdeki tüm disk kullanımını gösterir.
-s Her dosya için geçerli dizinde disk kullanımını ekranda gösterir.
-BM Boyutu mb (megabyte) cinsinden gösterir.
-BG Boyutu gb (gigabyte) cinsinden gösterir.

Örnek;
du -BM /home/onur/*

Yukarıdaki örnekte home/onur klasörü içinde yer alan tüm dosyaların boyutlarını mb cinsinden ekranda göstermiş olduk.

Linux Dosyaları Silinmez Yapma

Chattr komutu Linux sistemlerde dosyaları silinmez hale getirmek için kullanılmaktadır. Yine aynı komutu farklı bir parametre ile kullanarak silinmeyen dosyaları silinir duruma getirmemiz de mümkün olmaktadır.

Dosyaları Silinmez Durumu Getirmek için;
chattr +ias /dosyayolu/dosya

Silinmeyen Dosyaları Silinir Duruma Getirmek için;
chattr -ias/dosyayolu/dosya

Örnek;
chattr +ias /deneme/index.php

Yukarıdaki komut ile sistemimizde deneme klasörünün içinde yer alan index.php dosyasını silinmeyen dosya türüne çevirmiş olduk.

chattr -ias /deneme/index.php

Bu komutu uygulayarak ise index.php dosyasını tekrar silinebilir duruma getirmiş olduk. Önemli dosyaların yanlışlıkla silinme ihtimaline durumunu engellemek için kullanabileceğimiz faydalı bir komuttur.

Örnek2;
chattr –R +i deneme

Bir klasörün silinmesini engellemek istiyorsak chattr komutu ile birlikte –R parametresini kullanmamız gerekmektedir. Yukarıdaki örnekte bulunduğumuz dizinde yer alan deneme isimli dizini silinmeye karşı kilitlemiş olduk. Aynı klasörün kilidini kaldırmak için ise aşağıdaki komutu kullanabiliriz;

chattr –R -i deneme

Linux diff Komutu

Linux’ta iki dosya veya iki klasör arasındaki farkı ekranda göstermek istiyorsak diff komutunu kullanmamız gerekmektedir. Şimdi bu komutun kullanımını örneklerle açıklayalım;

Komutun Kullanımı;
diff dosya1 dosya2

Örnek;
diff index.php sayfa.html

Yukarıdaki komut ile bulunduğumuz dizinde yer alan index.php ve sayfa.html dosyalarını karşılaştırmış olduk.

Örnek;
diff -rq /deneme1/ /deneme2/

Yukarıdaki örnekte ise denem1 ve deneme2 isimli klasörleri karşılaştırmış olduk. Sizde arasındaki farkı görmek istediğiniz dosyalarınızı veya klasörlerinizi bu şekilde karşılaştırabilirsiniz.

Parametre Açıklama
-b
Karşılaştırmada ara boşluklar dikkate alınmaz
-i Büyük küçük harf ayrımı yapmadan karşılaştırma işlemi yapar.
-l Çıktı raporu verir.
-w Büyün boşluk ve tab karakterlerinin önemsenmemesini sağlar.

diff3 komutu
Diff komutu ile iki adet dosyayı veya klasörü karşılaştırabileceğimizi öğrenmiştik. Eğer üç adet dosya veya klasör karşılaştırmak istiyorsak diff3 komutunu kullanmamız gerekecektir.

Komutun Kullanımı;
diff3 [dosya1] [dosya2] [dosya3]

Örnek;
diff3 index.html sayfa1.php iletisim.php

Yukarıdaki örnekteki gibi bulunduğumuz dizinde yer alan 3 adet dosyayı karşılaştırabiliriz.

Linux Dosya ve Klasör İsmi Değiştirme

Linux sistemlerde herhangi bir dosyanın veya klasörün ismini değiştirmek istiyorsak mv komutu kullanmamız gerekmektedir. Ayrıca bu komuta çeşitli parametreler ekleyerek dosyaları veya klasörleri taşıyabiliriz.

Komutun kullanımı;
mv dosya _ismi dosyanın_yeni_ismi

Örnek;
mv index.html sayfa.html

Yukarıdaki örnekte bulunduğumuz dizin içinde yer alan index.html dosyasının ismini sayfa.html olarak değiştirmiş olduk. Aynı şekilde bir klasörün ismini de değiştirmemiz mümkündür. Eğer bulunduğumuz dizinde ismini değiştirmek istediğimi dosya bulunmuyorsa karşımıza hata mesajı gelecektir. Hiçbir mesaj almıyorsak dosya ya da klasör ismi değiştirme işlemi başarılı bir şekilde gerçekleşmiştir. Ls komutu ile dosyamızın veya klasörümüzün isminin değişip değişmediğini kontrol edebiliriz.


Örnek2;
mv deneme/ders test

Yukarıdaki örnekte mv komutunu klasör taşıma işlemi yapmak için kullandık. Bu komut ile deneme klasöründe yer alan ders klasörünü bulunduğumuz dizinde yer alan test isimli klasörün içine taşımış olduk. Bu komutun aldığı diğer parametreleri aşağıdaki tablo üzerinden inceleyebilirsiniz;

Parametre Açıklama
-i
Onay mesajı ile işlem yapmamız sağlar.
-u Dosya kaynak dosyadan daha yeni olması koşuluyla taşınmasına izin verir.
-f Bu parametre uyarı mesajı vermeden hedef dosya üzerine yazılmasını sağlar.

Linux ls Komutları

ls Komutu

Linux sistemlerde en çok kullanılan komutlardan biride ls komutudur. Bu komut ile bulunduğumuz dizindeki dosyaları veya klasörleri görüntülememiz (listeletmemiz) mümkündür. Yeni oluşturduğumuz bir dosyayı ya da klasörü bu komutu kullanarak kontrol edebiliriz.

Komutun kullanımı;
ls

Örnek;
ls

Resimde de görüldüğü gibi ls komutunu uyguladığımda bulunduğumuz dizinde yer alan dosyalar ve klasörler listelendi.

ls -l Komutu

Bir önceki bölümde öğrendiğimiz ls komutu ile bulunduğumuz konumdaki dosyaları ve klasörleri listeleyebiliyorduk. Daha ayrıntılı bir listeleme yapmak için ise ls –l komutunu kullanmaktayız. Bu komut ile dosya ve klasörlerin oluşturulma tarihlerini, hangi kullanıcıya ait olduğunu, izinleri ve boyutları ile ilgili ayrıntılı bilgi almamız mümkündür. Daha detaylı bir listeleme yapmak istiyorsanız bu komutu kullanmalısınız.

Komutun Kullanımı;
ls –l

Örnek;
ls –l

Yukarıdaki resimde de görüldüğü gibi ls –l komutu ile bulunduğumuz dizindeki dosyalar ve klasörler ile ilgili ayrıntılı şekilde bilgi almış olduk. Ls komutun alabileceği diğer parametreler şu şekildedir;

PARAMETRE AMACI
-a
Gizli dosyalar dahil olmak üzere tüm klasör ve dosyaları listelemek için kullanılır.
-h Dosya boyutlarını KB, MB cinsinden şekilde göstermek için kullanılır.
-R Bulunduğumuz dizinden itibaren altlara doğru inerek dosya ve klasörleri listeler.
-F Listeleme yaparken dosya ve dizinleri birbirinden ayırarak gösterir. Bunun için dizin isimlerinin sonunda / işareti yer alır.
-t Dosya ve dizinlerin time stamp göre listeleme yapar
-i Dosya ve dizinlerin i-node numaralarını listeler.
-lt Dosya ve dizinleri modifikasyon zamanlarına göre ekranda listeler
-la Dosya ve dizinleri alfabetik sıraya göre sıralar.

Örnek;
ls –a

Yukarıdaki komut ile bulunduğunuz dizindeki gizli dosyalarda dahil olmak üzere tüm dosya ve klasörleri listelemiş olduk.
Not: Gizli dosya ve klasörlerin başında nokta (.) işareti yer almaktadır.