CHMOD ingilizce karşılığı Change Mode ‘dur.Türkçe olarak biçimini,tarzını değiştir gibi anlamlarda kullanabiliriz.
CHMOD Unix ve Linux sistemler üzerinde dosyaların ve dizinlerin erişim yetkilerini belirlemek, değiştirmek için kullanılmaktadır. Unix ve Linux yapısı çok kullanıcılı sisteme dayanmaktadır. Sistem içindeki veya sonradan eklenen kullanıcılar haricinde, sistem üzerinde çalıştırılan servislerinde kendisine ait kullanıcıları ve grupları vardır.
Chmod ile her kullanıcı kendisine erişim izni verilen dosya ve dizinler üzerinde işlem yapma yetkisine sahip olur.
Eğer böyle bir kısıtlama olmasaydı, herhangi bir kullanıcı diğer kullanıcıların dosya ve dizinleri üzerinde yetkisiz olarak her türlü işlemi yapabilirdi.
Unix / Linux Kullanıcıları
3 kullanıcı türü bulunmaktadır.
u – user ( dosya veya dizin sahibi, yaratıcısı )
g – group ( dosya veya dizinin ait olduğu grup )
o – other ( diğerleri, user ve group haricindekiler )
a – all (ugo) ( hepsi, herkes dosya ve dizinlere erişebilir. )
CHMOD izinleri ( Chmod Permissions )
Chmod erişim izinleri herzaman rwx şeklinde sıralanmaktadır.
r – Okuma izni ( Read permission )
w – Yazma izni ( Write permission )
x – Çalıştırma izni ( Execute permission )
Bir dizin içindeki dosyaları listelemek için ls -al komutunu kullanabiliriz.
tcpsecurity.com# ls -al
total 72
drwxr-xr-x 3 root wheel 512 May 6 15:09 .
drwxr-xr-x 3 osman block 512 Apr 12 236 ..
-rw-r–r– 1 osman wheel 4036 May 6 15:16 index.php
-rw-r–r– 1 osman wheel 5384 May 3 21:48 style.css
drw-r–r– 1 osman wheel 719 May 6 15:15 osmanatabey
drwxr-xr-x 2 osman wheel 512 Mar 24 021 img
-rw-r–r– 1 osman wheel 4198 May 6 15:16 index.php
-rw-r–r– 1 osman wheel 10608 Mar 24 19:56 tcpsecurity.com
-rw-r–r– 1 osman wheel 4036 May 6 15:16 default.php
-rw-r–r– 1 osman wheel 719 May 6 15:15 chmod.html
Tür | Sahibi | Grup | Diğerleri
(Type) | (user) | (group) | (other)
- | – - – | – - – | – - -
İlk karakter dosyanın türünü göstermektedir.
Dosya tür çeşitlerini şu şekilde sıralayabiliriz :
- Normal bir dosya
d Dizin
b Özel blok dosyası
c Özel karakter dosyası
l Sembolik bağlantı dosyası
P Özel isimlendirilmiş pipe dosyası
İlk karakterden sonra gelen 3 ayrı blok soldan sağa doğru user, group ve other için verilen erişim izinlerini gösterir.
Bu erişim izinleri daima rwx sırasında yazılmaktadır. rwx içinde ( – ) simgesi bulunuyorsa o bölüme ait erişim izni verilmemiş anlamına gelir.
Bazı chmod örnekleri :
rwx Okuma, yazma ve çalıştırma erişim izinlerinin hepsi var.
rw- Okuma ve yazma izinleri var, çalıştırma için izin yok.
r-x Okuma ve çalıştırma izinleri var, yazma için izin yok.
-wx Okuma için izin yok, yazma ve çalıştırma izinleri var.
r– Sadece okuma hakkı var.
-w- Sadece yazma hakkı var.
–x Sadece çalıştırma hakkı var.
— Hiçbir erişim hakkı yok.
Yukarıda anlatılanlara göre örnek vererek inceleyelim;
drwxrwxrwx : Şeklinde listelenen, d ( dizin ) türünde u, g, o (user, group, other kullanıcılarına) rwx (okuma,yazma,çalıştırma) erişim izinlerinin tümü verilmiş.
-r–r–r– : Şeklinde listelenen, normal bir dosya türünde ve her kullanıcıya sadece r (okuma) erişim izni verilmiş.
-rw-r–r– : Şeklinde listelenen, normal bir dosya türünde ve sahibine rw (okuma yazma) hakkı verilerek grup ve diğer kullanıcılara sadece r (okuma) erişim izni verilmiş.
Chmod Erişim izinleri sayı sistemi şeklinde de gösterilebilir.
r ( Okuma izni ) = 4
w ( Yazma izni ) = 2
x ( Çalıştırma izni ) = 1
Tek bir blok için tanımlanan değerler :
000 : r (Okuma hakkı yok), w (Yazma hakkı yok), x (Çalıştırma hakkı yok) : – - – : chmod değeri 0
001 : r (Okuma hakkı yok), w (Yazma hakkı yok), x (Çalıştırma hakkı var) : – -x : chmod değeri 1
010 : r (Okuma hakkı yok), w (Yazma hakkı var), x (Çalıştırma hakkı yok) : -w- : chmod değeri 2
011 : r (Okuma hakkı yok), w (Yazma hakkı var), x (Çalıştırma hakkı var) : -wx : chmod değeri 3
100 : r (Okuma hakkı var), w (Yazma hakkı yok), x (Çalıştırma hakkı yok) : r- – : chmod değeri 4
101 : r (Okuma hakkı var), w (Yazma hakkı yok), x (Çalıştırma hakkı var) : r-x : chmod değeri 5
110 : r (Okuma hakkı var), w (Yazma hakkı var), x (Çalıştırma hakkı yok) : rw- : chmod değeri 6
111 : r (Okuma hakkı var), w (Yazma hakkı var), x (Çalıştırma hakkı var) : rwx : chmod değeri 7
Chmod izinlerinin 3 ayrı bloktan oluştuğunu söylemiştik [ user(u), group(g), other(o) ]
Sadece user için verilen tek blokluk chmod izinlerini incelediğimizde;
110 (2&