Linux Dosya İzinleri ve chmod Komutu: Kullanıcıların, Grupların ve Diğerlerinin İzinlerini Ayarlama

chmod komutu, dosya ve dizinlerin izinlerini ayarlamak için kullanılır. İzinler, dosyanın veya dizinin sahibi, grubu ve diğer kullanıcılar için ayarlanabilir. İzinler üç ayrı bölüme ayrılır: kullanıcı (owner), grup (group) ve diğerleri (others). Her bölüm, okuma, yazma ve çalıştırma izni (permission) için bir sayı (digit) kullanır. Örneğin, 777 gibi bir sayı, herkesin okuma, yazma ve çalıştırma izni olduğunu belirtir.

Bu sayıların hesaplanması, her izin için belirli bir sayı atanarak yapılır. İzinler aşağıdaki gibi temsil edilir:

  • Okuma: 4
  • Yazma: 2
  • Çalıştırma: 1
  • İzin yok: 0

Bu sayılar, 8’lik tabanda birleştirilerek izinlerin toplamını belirlemek için kullanılır. Örneğin, bir dosyayı herkesin okuma, yazma ve çalıştırma iznine sahip yapmak için, kullanıcı, grup ve diğerleri için her birinin 4 + 2 + 1 = 7 olan izinlere sahip olması gerekir. Bu nedenle, chmod 777 filename komutu kullanılır.

Bir başka örnek, dosya sahibi için okuma ve yazma izni, grup için sadece okuma izni, diğerleri için ise hiçbir izin olmamasını belirten 640 izinleridir. Bu durumda, dosya sahibi için 4+2=6, grup için 4 ve diğerleri için 0 olan izinler atanır. İzinlerin toplamı 6+4+0=640 olacaktır.

Bazı diğer örnekler şöyle olabilir:

  • 777: Herkesin okuma, yazma ve çalıştırma izni
  • 755: Dosya sahibinin okuma, yazma ve çalıştırma izni, grup ve diğerleri için yalnızca okuma ve çalıştırma izni
  • 644: Dosya sahibinin okuma ve yazma izni, grup ve diğerleri için yalnızca okuma izni

Bununla birlikte, bu sayıları ezberlemeniz gerekmez. chmod komutu, izinleri sembolik olarak da ayarlayabilirsiniz. Örneğin, u+rwx kullanarak dosya sahibi (u) için okuma, yazma ve çalıştırma izni ekleyebilirsiniz. Grup (g) için yalnızca okuma izni eklemek istiyorsanız, g+r kullanabilirsiniz.

Konu hakkında bir kaç örnek verecek olursak;

  • chmod u+rwx,g+rx,o+r file.txt: Dosya sahibine okuma, yazma ve çalıştırma izni (u+rwx), grup üyelerine okuma ve çalıştırma izni (g+rx), diğer kullanıcılara ise yalnızca okuma izni (o+r) verir.
  • chmod a+rwx file.txt: Tüm kullanıcılara okuma, yazma ve çalıştırma izni (a+rwx) verir.
  • chmod u-x file.txt: Dosya sahibinden (u-x) çalıştırma iznini kaldırır.
  • chmod 755 file.txt: Dosya sahibine okuma, yazma ve çalıştırma izni (7 = 4+2+1), grup üyelerine okuma ve çalıştırma izni (5 = 4+1), diğer kullanıcılara ise yalnızca okuma ve çalıştırma izni (5 = 4+1) verir.
  • chmod 600 file.txt: Dosya sahibine okuma ve yazma izni (6 = 4+2) verir, grup üyelerine ve diğer kullanıcılara hiçbir izin vermez.
  • chmod 777 file.txt: Tüm kullanıcılara okuma, yazma ve çalıştırma izni (7 = 4+2+1) verir.

örneğin chmod 755 file.txt komutunu çalıştırdıktan sonra, ls -l komutuyla dosyanın izinlerini görüntüleyebilirsiniz

Bu çıktıda, dosyanın izinleri “rwxr-xr-x” olarak listelenir. İlk üç karakter dosya sahibinin izinlerini gösterir, ortadaki üç karakter grup üyelerinin izinlerini gösterir ve son üç karakter diğer kullanıcıların izinlerini gösterir. “r” karakteri okuma iznini, “w” karakteri yazma iznini ve “x” karakteri çalıştırma iznini temsil eder. ” – ” karakteri herhangi bir izni olmayan bir kategori için kullanılır.

Bu örnekte, dosya sahibi (user) tüm izinlere sahiptir (rwx), grup üyeleri ve diğer kullanıcılar ise sadece okuma ve çalıştırma izinlerine sahiptir (r-x).

Sonuç olarak, chmod komutu, dosyaların izinlerini değiştirmek için kullanılır. İzinler, kullanıcılara ve gruplara hangi işlemleri yapabilecekleri konusunda kontrol sağlar ve sembolik veya sayısal olarak belirtilebilir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir