Linux chmod Komutu – Ayrıntılı Kullanım Rehberi

1. chmod Komutu Nedir?

chmod (change mode) komutu, Linux ve Unix tabanlı sistemlerde dosya ve dizin izinlerini değiştirmek için kullanılır.

Bu izinler, dosya/dizin üzerinde okuma (read), yazma (write) ve çalıştırma (execute) yetkilerini kontrol eder.

İzinler üç farklı kullanıcı kategorisine atanır:

  • Kullanıcı (u) → Dosyanın sahibi
  • Grup (g) → Dosyanın sahibi ile aynı grupta olan kullanıcılar
  • Diğer (o) → Sistem üzerindeki diğer tüm kullanıcılar

2. Temel Kullanım

chmod [seçenekler] izinler dosya

Örnek:

chmod 755 script.sh


Bu komut script.sh dosyasına kullanıcıya tam yetki, gruba ve diğerlerine okuma/çalıştırma izni verir.

3. İzin Türleri

HarfSayısal KarşılıkAnlamı
r4Okuma izni
w2Yazma izni
x1Çalıştırma izni

4. İzin Gösterim Biçimleri

chmod iki farklı biçimde kullanılabilir:

  1. Sayısal (Octal) Notasyon
  2. Sembolik Notasyon

4.1. Sayısal Notasyon

İzinler üç haneli sayı ile ifade edilir:

  • İlk hane: Kullanıcı (u)
  • İkinci hane: Grup (g)
  • Üçüncü hane: Diğer (o)

Örnekler

chmod 644 dosya.txt # Kullanıcı: rw-, Grup: r--, Diğer: r--
chmod 755 script.sh # Kullanıcı: rwx, Grup: r-x, Diğer: r-x
chmod 777 test.sh # Herkese tam yetki (dikkatli kullanılmalı)

4.2. Sembolik Notasyon

Harflere + (ekleme), – (çıkarma) veya = (tam atama) ile izin verilir.

chmod u+x script.sh # Kullanıcıya çalıştırma izni ekle
chmod g-w dosya.txt # Gruptan yazma iznini kaldır
chmod o=r dosya.txt # Diğerlerine sadece okuma izni ver

3. Sık Kullanılan Argümanlar

ArgümanAçıklama
-RDizin içindeki tüm dosya ve alt dizinlere izinleri uygular
–reference=<dosya>İzinleri belirtilen dosyadan kopyalar
–verboseYapılan değişiklikleri ekrana yazar

6. Örnek Kullanımlar

6.1. Tüm Kullanıcılara Tam Yetki Vermek

chmod 777 test.sh

Açıklama: Herkese okuma, yazma ve çalıştırma izni verir (güvenlik riski olabilir).

6.2. Sadece Kullanıcıya Çalıştırma İzni Vermek

chmod u+x script.sh

Açıklama: Kullanıcıya çalıştırma izni ekler, diğer izinleri değiştirmez.

6.3. Bir Dizin ve İçindekilere Rekürsif İzin Vermek

chmod -R 755 /var/www

Açıklama: /var/www dizini ve altındaki tüm dosya/dizinlere kullanıcıya tam yetki, diğerlerine okuma/çalıştırma izni verir.

6.4. Başka Bir Dosyadan İzin Kopyalamak

chmod --reference=ornek.txt hedef.txt

Açıklama: hedef.txt dosyasının izinlerini ornek.txt ile aynı yapar.

7. İpuçları

  • chmod komutu ile yanlış izinler vermek güvenlik riskine yol açabilir.
  • Dizinlere çalıştırma izni verilmezse, içerik listelenemez.
  • Script dosyaları çalıştırılabilmesi için x iznine sahip olmalıdır.
  • Sistem dosyalarında izin değiştirirken root yetkisi gerekebilir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir