Dosya ve Dizinlerin İzinlerini Ayarlamak
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 izinleriDosyaların ve dizinlerin sahip olduğu izinleri görmek için ls komutu kullanılmaktadır.[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 belirtilirmekte 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ımmdı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.
- 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.
Erişim hakları, Linux dosya sistemi
güvenliğinin belkemiğini oluşturur. Her dosyaya ayrı verilebilen
erişim izinleri sayesinde çok daha rahat bir sistem yönetimi
gerçekleştirilebilir. Bu, konuya sadece sistem görevlisi
tarafından yaklaşıldığı zaman çıkartılabilecek bir sonuçtur.
Kullanıcı bazında erişim hakları bazen daha da anlamlı
olabilir. Yanlış kullanıldığında hoş olmayan süprizlere yol
açabilir. Linux altında üç çeşit erişim hakkı vardır :
- (r) Okuma izni : Dosyanın okuma izni varsa içeriği görülebilir, dizinin okuma izni varsa içerdiği dosyaların listesi alınabilir.
- (w) Yazma izni : Dosyanın yazma izni varsa dosyayı değiştirebilir veya silebilirsiniz. Dizine yazma izni verildiğinde dizin altındaki dosyalar yazılabilir veya silinebilir.
- (x) Çalıştırma izni : Dosyayı çalıştırma hakkını verir.
Her üçlü aynı kalıptadır. Her
üçlünün ilk pozisyonunda bir r harfinin varlığı, ilgili
kullanıcının dosyayı okuma yetkisinin bulunduğunu gösterir. Bu
pozisyonda bir eksi işareti varsa, söz konusu kullanıcı tipi
için okuma yetkisi olmadığı anlaşılır.
Bu mantıkla,
r : Okuma yetkisi, ( read
access )
w : Yazma yetkisi, ( write
access)
x : Dosya bir program
dosyası ise, programı çalıştırma yetkisini gösterir. (
execute access )
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 :
İ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
izinin 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ı :
o Verilen
haklar için 1 verilmeyen haklar için 0 konularak izinin 2’li
düzendeki görüntüsü elde edilir.
o 2’li
tabandaki sayı 10’luk tabana çevirilerek izinin sayısal değeri
elde edilir.
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 verilemesi
|
---
|
000
|
0
|
NOT:BİR DOSYA VEYA DİZİNİN ERİŞİM YETKİLERİNİ SADECE DOSYANIN
SAHİBİ VE ROOT KULLANICISI DEĞİŞTİREBİLİR.
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ı grubları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.
Örnekler :
Herkese okuma
izni vermek
|
chmod +r
dosya_ismi
|
Dosyanın
sahibine tüm hakları vermek
|
chmod u+rwx
dosya_ismi
|
Diğer
kullanıcıların tüm yazma ve çalıştırma hakkını kaldırmak
|
chmod o-wx
dosya_ismi
|
Dosya
sahibine tüm haklar , gruba okuma , diğer kullanıcılara okuma
haklarını vermek
|
chmod
u+rwx,g+r,o+r
dosya_ismi
|
Dosyanın sahibini değiştirmek için
kullanılan chown komutunun temel yapısı aşağıdaki gibidir :
#chown kullanıcı_ismi dosya_ismi
Bir dosyanın sahibini sadece
sistemdeki root kullanıcı değiştirebilme yetkisine sahiptir.
Dosya sahibinin değiştirilmesi için chown komutu kullanılabilir.
deneme dosyasının sahibini ozgur isimli kullanıcı yapalım.
# chown ozgur deneme
Dosyanın yeni hali şöyle olur :
-rwxr-xr-x 2 ozgur users
182 Feb 12 03:58 deneme
chgrp komutu yardımıyla da dosyanın
grubunu değiştirilebilir. Yukarıdaki dosyanın grubunu www yapmak
için,
# chgrp www deneme
komutu kullanılabilir. chown
komutu, dosyanın hem kullanıcısını, hem de grubunu değiştirme
özelliğine sahiptir. chown komutundan sonra kullanıcı ve
grup isimlerini aralarında bir nokta kalacak şekilde yazın.
$ chown ozgur.www deneme
$ ls -l deneme
-rwxr-xr-x 2 ozgur www
182 Feb 12 03:58 deneme
Dosyanın grubunu değiştirmek için
chgrp komutu kullanılmaktadır. İkinci kullanım şeklinde dosyanın
sahibi ile birlikte grubu da değiştirilmektedir. Dosyanın sadece
grubu değiştirilmek istendiğinde chgrp komutu kullanılmaktadır.
Bu komutun temel yapısı aşağıdaki gibidir :
chgrp grup_ismi dosya_ismi
ALINTIDIR.
KAYNAK:www.belgeler.org