chmod, Linux'da bir dosyanın izin (permission) ayarlarını değiştirmek için kullanılan bir komuttur. Bu komut üç kullanıcı türüne, üç farklı izini ayarlamak için kullanılır.
Bir dosya veya dizinin sahiplik durumu dört farklı şekilde verilebilir :
Kod | Kullanıcı Tipi | Açıklama |
u | Owner | Dosya veya dizinin sahibi kullanıcı |
g | Group | Dosya veya dizinin sahibi grup |
o | Others | Ana kullanıcı ve grup dışındaki kullanıcı ve gruplar için |
a | All | Tüm tiplerin izinlerini ayarlamak için kullanılır |
İzin tipleri ise şu şekildedir :
Harf | İşlem | Açıklama |
r | Read | Okuma, görme |
w | Write | Yazma, değiştirme |
x | Execute | Çalıştırma |
Bir sahibin izinlerine ekleme yapılabilir, izin çıkarılabilir veya tamamen değiştirilebilir:
İşaret | Açıklama |
+ | İzin ekleme |
- | İzin silme |
= | İzin ayarlarını yer değiştirme |
Örneğin aşağıdaki gibi bir dosya ve yetkisi olsun :
-rw-r-----. 1 testuser testgroup 0 Apr 22 14:19 test.log
Burada testuser adlı kullanının rw- şeklinde belirtildiği gibi okuma ve yazma yetkisi vardır. testgroup adlı grubun ise sadece okuma yetkisi vardır. testuser ve testgroup dışındaki kullanıcı ve grupların ise bu dosyaya hiç bir şekilde erişme yetkisi yoktur.
Örneğin aşağıda gruba yazma yetkisini ekliyoruz:
chmod g+w test.log
Bu komut sonrası yetkilerin aşağıdaki gibi değiştiği görülebilir :
-rw-rw----. 1 testuser testgroup 0 Apr 22 14:19 test.log
Numara Kullanımı
chmod işlemlerini numerik değerler kullanabilirsiniz. Örneğin izinlerin numara karşılığı bu şekildedir :
- Değer İzin
- 4 Read (Oku)
- 2 Write (Yazma)
- 1 Execute (Çalıştırma)
- 0 İzin yok
chmod kullanılırken kullanıcı+grup+diğer şeklinde üç sayı yan yana verilerek yetkiler düzenlenebilir. Ve izin değerleri toplanılarak iki izin birden verilebilir. Örneğin 6 (4+2) sayısı rw yetkisi demektir. 5 (4+1) sayısı ise okuma + çalıştırma yetkisi içindir. Aşağıda bir kullanım olsun
chmod 674 test.log
Kullanıcıya 6 (rw), gruba 7 (rwx) ve diğerlerine ise 4(rx) yekisi verilmiş olacaktır. Örneğin
chmod 600 test.log
gibi bir komut sadece kullanıcıya okuma ve yazma yetkisi verir. Diğerlerinden tüm yetki kaldırılmış olunur :
-rw-------. 1 testuser testgroup 0 Apr 22 14:19 test.log