Linux'te Dosya İzin Yapısı
Linux'te herşey dosyalardan ibarettir ve her türlü işlemler dosyalar aracılığıyla yapılır.Bu nedenle dosyaların gizliliği,okunması,yazılması ve çalıştırılması linuxte güvenlik önlemlerinin temelini oluşturur.
Linux dosyaları "Read","Write","Execute" sırasıyla okunabilir,yazılabilir,çalıştırılabilir izinleri ile kullanıcıların kullanımına sunar.
Read : Dosya ve dizinlerin okunabilmesi ya da listeme özelliği olarak kullanılır.
Write : Yeni bir dosya/dizin oluşturmak için kullanılır
Execute : Dosya çalıştırma ya da dizine giriş hakkı için kullanılır.
Linux sistemlerde kullanılan "ls -l" komutu ile izin bilgileride dahil dosya bilgilerinin listesi elde edilir.
-rwxrwxrwx 1 root root 5454 Dec30 05:22 test
-dr-xrwxr-- 1 root root 5454 Dec30 05:22 test2
-lr--rw--wx 1 root root 5454 Dec30 05:22 test3
şeklinde bir dosya listesinin elimizde olduğunu varsayarak dosyaların izin bilgilerine bakalım
r : Read w:Write x:Execute
Dosya izinleri 4 bölümden oluşur
1.bölüm :En soldaki - işareti bölümüdür.Bu bölüm "d" ile başlıyorsa dizin," l " ile başlıyorsa link ,"-" varsa dosya olduğunu gösterir.
2.bölüm: Soldan ilk üçlü harf yapısıdır.Bu sistem kullanıcının dosya üzerindeki, haklarını gösterir.
3.bölüm: Soldan ikinci üçlü harf yapısıdır.Bu dosyanın grup kullanıcıları üzerindeki haklarını gösterir.
4.bölüm: En sondaki üçlü harf yapısıdır.Bu dosyanın diğer kullanıcılar için izin bilgilerini gösterir.
Dosya izinlerinin kısayoldan değiştirilmesi
Linux, dosya izinlerini yetkisi düzeyinde değiştirmenize izin verir.Yetki seviyeniz dosyalar üzerindeki yetkiniz ile paraleldir.
"Chmod" komutu dosya izinleri için kullanılır.
# chmod 777 test şeklindeki komut ile "test" dosyasına kullanıcı,grup kullanıcıları ve diğer kullanıcılar düzeyinde okuma-yazma-çalıştırma yetkisi vermiş olduk.Peki bunu nasıl yaptık?
Burada asıl nokta 777 sayısıdır.Bunu şu şekilde anlatayım.
Linux, dosya izinleri için;
4:Read 2:Write 1:Execute mantığı ile çalışır.Bu üç değerin toplamı o dosyanın izin bilgisini gösterir.Buradaki 777 sayısınıda açarsak;
7 - - > ilk 7 rakamı kullanıcının dosya üzerindeki yetki düzeyi : 4+2+1=7
- 7 - > ikinci 7 rakamı grup kullanıcılarının dosya üzerindeki yetki düzeyi : 4+2+1=7
- - 7 > üçüncü 7 rakamı diğer kullanıcıların dosya üzerindeki yetki düzeyi : 4+2+1=7 olur.
Dosyalardan birinin izin bilgisi 765 olursa ne olur.
7 = 4+2+1= rwx =Root kullanıcı tam yetkilidir.
6= 4+2+0= rw- =Grup kullanıcıları okuyabilir yazabilir ama çalıştıramaz.
5 = 4+0+1= r-x =Diğer kullanıcılar okuyabilir,yazamaz ama çalıştırabilir.
Peki tersten gidelim bu sefer;
-r--rwx--- izin yapısına sahip dosyanın sayısal değeri nedir?
r--: 4+0+0=4
rwx: 4+2+1=7
---: 0+0+0=0 dolayısıyla sonuç ---> 470 oluyor.
Dosya izinlerinin değiştirilmesi
# chmod u+x file :Root kullanıcısına "file" dosyasına çalıştırma(x) yetkisi verildi
# chmod u-w file :Root kullanıcısından "file" dosyasına yazma(w) izni alındı.
# chmod g+x file :Grup kullanıcılarına "file" dosyasına çalıştırma(x) yetkisi verildi
# chmod o+r file :Diğer kullanıcılara "file" dosyasına okuma(r) yetkisi verildi
# chmod o-w file :Diğer kullanıcılara "file" dosyasına yazma(w) yetkisi verildi
Buradaki
u:user(root kullanıcı)
g:grup(grup kullanıcıları)
o:other(diğer kullanıcılar)
+(artı) ile yetki-izin veriliyor
-(eksi) ile yetki-izin alınıyor.
Dosya izin yapısı bu kadar kolay gelsin.
Linux dosyaları "Read","Write","Execute" sırasıyla okunabilir,yazılabilir,çalıştırılabilir izinleri ile kullanıcıların kullanımına sunar.
Read : Dosya ve dizinlerin okunabilmesi ya da listeme özelliği olarak kullanılır.
Write : Yeni bir dosya/dizin oluşturmak için kullanılır
Execute : Dosya çalıştırma ya da dizine giriş hakkı için kullanılır.
Linux sistemlerde kullanılan "ls -l" komutu ile izin bilgileride dahil dosya bilgilerinin listesi elde edilir.
-rwxrwxrwx 1 root root 5454 Dec30 05:22 test
-dr-xrwxr-- 1 root root 5454 Dec30 05:22 test2
-lr--rw--wx 1 root root 5454 Dec30 05:22 test3
şeklinde bir dosya listesinin elimizde olduğunu varsayarak dosyaların izin bilgilerine bakalım
r : Read w:Write x:Execute
Dosya izinleri 4 bölümden oluşur
1.bölüm :En soldaki - işareti bölümüdür.Bu bölüm "d" ile başlıyorsa dizin," l " ile başlıyorsa link ,"-" varsa dosya olduğunu gösterir.
2.bölüm: Soldan ilk üçlü harf yapısıdır.Bu sistem kullanıcının dosya üzerindeki, haklarını gösterir.
3.bölüm: Soldan ikinci üçlü harf yapısıdır.Bu dosyanın grup kullanıcıları üzerindeki haklarını gösterir.
4.bölüm: En sondaki üçlü harf yapısıdır.Bu dosyanın diğer kullanıcılar için izin bilgilerini gösterir.
Dosya izinlerinin kısayoldan değiştirilmesi
Linux, dosya izinlerini yetkisi düzeyinde değiştirmenize izin verir.Yetki seviyeniz dosyalar üzerindeki yetkiniz ile paraleldir.
"Chmod" komutu dosya izinleri için kullanılır.
# chmod 777 test şeklindeki komut ile "test" dosyasına kullanıcı,grup kullanıcıları ve diğer kullanıcılar düzeyinde okuma-yazma-çalıştırma yetkisi vermiş olduk.Peki bunu nasıl yaptık?
Burada asıl nokta 777 sayısıdır.Bunu şu şekilde anlatayım.
Linux, dosya izinleri için;
4:Read 2:Write 1:Execute mantığı ile çalışır.Bu üç değerin toplamı o dosyanın izin bilgisini gösterir.Buradaki 777 sayısınıda açarsak;
7 - - > ilk 7 rakamı kullanıcının dosya üzerindeki yetki düzeyi : 4+2+1=7
- 7 - > ikinci 7 rakamı grup kullanıcılarının dosya üzerindeki yetki düzeyi : 4+2+1=7
- - 7 > üçüncü 7 rakamı diğer kullanıcıların dosya üzerindeki yetki düzeyi : 4+2+1=7 olur.
Dosyalardan birinin izin bilgisi 765 olursa ne olur.
7 = 4+2+1= rwx =Root kullanıcı tam yetkilidir.
6= 4+2+0= rw- =Grup kullanıcıları okuyabilir yazabilir ama çalıştıramaz.
5 = 4+0+1= r-x =Diğer kullanıcılar okuyabilir,yazamaz ama çalıştırabilir.
Peki tersten gidelim bu sefer;
-r--rwx--- izin yapısına sahip dosyanın sayısal değeri nedir?
r--: 4+0+0=4
rwx: 4+2+1=7
---: 0+0+0=0 dolayısıyla sonuç ---> 470 oluyor.
Dosya izinlerinin değiştirilmesi
# chmod u+x file :Root kullanıcısına "file" dosyasına çalıştırma(x) yetkisi verildi
# chmod u-w file :Root kullanıcısından "file" dosyasına yazma(w) izni alındı.
# chmod g+x file :Grup kullanıcılarına "file" dosyasına çalıştırma(x) yetkisi verildi
# chmod o+r file :Diğer kullanıcılara "file" dosyasına okuma(r) yetkisi verildi
# chmod o-w file :Diğer kullanıcılara "file" dosyasına yazma(w) yetkisi verildi
Buradaki
u:user(root kullanıcı)
g:grup(grup kullanıcıları)
o:other(diğer kullanıcılar)
+(artı) ile yetki-izin veriliyor
-(eksi) ile yetki-izin alınıyor.
Dosya izin yapısı bu kadar kolay gelsin.
Yorumlar