chmod Hesaplayıcı
Linux chmod izinlerini sezgisel şekilde hesapla ve dönüştür
Sahibi (Owner / User)
0Grup (Group)
0Herkese Açık (Public)
0Chmod Hesaplayıcı Hakkında
UNIX benzeri işletim sistemleri (Linux, macOS, Ubuntu sunucuları vb.) ortamlarındaki dosya ve dizin izinlerini yönetmek, hem yeni başlayan geliştiriciler hem de tecrübeli sistem yöneticileri için genellikle birer matematiksel baş ağrısı olabilmektedir. İster bash betiği çalıştırmak, ister web dosyalarını düzenlemek, ister SSH anahtarlarına veya dizinlere erişimi kısıtlamak olsun; bu araç sayesinde doğru parametreleri anında görsel olarak elde edebilir ve sunucuyu tehlikeye atabilecek olan kritik izin ve güvenlik açıklarından kolayca kaçınabilirsiniz.
Değerleri çift yönlü olarak sorunsuz bir şekilde hesaplayabilirsiniz: Sayısal toplamı dinamik olarak oluşturmak için (ör. 755) kullanıcı kimliği sınıfları (Sahip, Grup, Genel) arasındaki onay kutularını (Okuma, Yazma, Yürütme) işaretleyin veya alternatif olarak, söz konusu numaranın arka planda tam olarak hangi izin yapısını devreye soktuğunu görmek ve öğrenmek için doğrudan kutucuğa bir Sekizli kod yazın.
İzinler Nasıl Okunur
Standart Linux dosya/dizin izinleri, her biri bir kullanıcı sınıfını temsil eden üç haneli sayısal (Octal / Sekizli) bir formül dizisi ile temsil edilir.
- Birinci Hane (Owner / Sahibi): Dosyanın asıl temel sahibidir ve genelde bir root olduğu için en yüksek
(7)seviyede yönetebilme ayrıcalıkları taşır. - İkinci Hane (Group / Grup): Ekip çalışmasındaki grup ortaklarını temsil eder. Genellikle
(5, 4)gibi salt okunabilme statüsünde tutulur. - Üçüncü Hane (Others / Harici Genel): İnternetten web sitenize anonim girenler de dahil tüm sistemi temsil eder. Son derece dikkat edilmelidir, onlara dosya/sistem üzerine Yazma
(2)yetkisi vermek en tehlikeli risktir.
Sözlük: Bitler ve Değerler
- chmod Terminal Komutu
- Geniş tabanlı Linux ve benzeri Unix ortamlarında dosya veya dizinlerin erişim izinlerini değiştirmek için kullanılan sistem yönetim komutudur. İzinler genellikle sayılar (octal sistemi) veya sembolik notasyonlar kullanılarak terminalden atanabilir.
- İzinler (Permissions)
- Bir dosya veya dizin için salt güvenlik erişim kontrol ayarlarıdır. Temelde üç türden oluşur: "Okuma / Read (r)", "Yazma / Write (w)" ve "Yürütme / Execute (x)", ve Sahibi (Owner), Grup (Group) ve Diğerleri (Others) için ayrı ayrı ayarlanır.
- Sekizli (Octal) Notasyonu Sistemi
- İzinleri basamak basamak 0 ile 7 arasında değişen 3 basamaklı bir sayı yapısıyla oluşturarak sunma yöntemidir. Mantığı: r=4, w=2 ve x=1'in birer toplam sonucudur.
- Sembolik Gösterim (Symbolic Notation)
- Erişim izinlerini "rwxr-xr-x" gibi tireler ve kısaltma işaretli harflere dayalı bir dizeyle temsil etme yöntemidir. İnsan tarafından okunabilirdir (human-readable) ve verilen izinlerin sezgisel bir şekilde tanınmasını sağlar.
- Sahibi (Owner/User)
- Dosyayı yaratan, üreten, hosta taşıyan veya asıl sahip olan kullanıcıdır. Chmod'daki ilk sayı basamağı her daim bu sahibin haklarını temsil eder ve diğer 2 basamaktan daha yüksek toleranslara sahiptir.
- Ağ Grubu (Group)
- Geliştirici ekibi veyahut sunucudaki grup yetkilerinin ortak atama ayarıdır. Bir dosyanın takım veya şirket olarak sağlıklı işbirliğinin yönetilmesine olanak tanır.
- Harici / Genel Kullanıcılar (Others)
- Sahibi ya da özel ekip üyesi dışındaki ziyaretçilerin tamamını kapsayan sınıflandırılmadır. Açıkları tamamen kesmek için 3. hanedeki sayı dizisinde bu kısmın haklarını sınırlı tutmak tavsiye edilendir.
SSS
- S:Hesaplama sonuçları sunucuya gönderiliyor mu?
- Hayır. Tüm hesaplamalar tamamen tarayıcınızın içinde JavaScript ile tamamlanır. Girdiğiniz değerler ve oluşturulan sonuçlar dış sunuculara asla iletilmez.
- S:755 ve 644 arasındaki fark nedir?
- 755 (rwxr-xr-x), dizinler ve yürütülebilir komut dosyaları için yaygındır ve sahibine tam haklar ve diğerlerine okuma/yürütme erişimi verir. 644 (rw-r--r--), HTML veya CSS gibi normal dosyalar içkaydet, burada yalnızca sahibi düzenleyebilir ve diğer herkes yalnızca okuyabilir.
- S:Bir web sunucusu için önerilen izinler nelerdir?
- Genellikle dizinler 755 olarak, dosyalar ise 644 olarak ayarlanmalıdır. CGI komut dosyaları gibi çalıştırılabilir dosyalar 755 olmalı, (.htaccess veya veritabanı ayarları gibi) hassas yapılandırma dosyaları ise en iyi 604 veya 600'de tutulmalıdır.
- S:İzinleri 777 olarak ayarlarsam ne olur?
- Tüm kullanıcılara (Sahip, Grup ve Diğerleri) tam okuma, yazma ve yürütme izinleri verir. Bu ciddi bir güvenlik riskidir ve üretim (canlı) ortamında genel olarak asla kullanılmamalıdır. Bunu yalnızca izole yerel alanlarda geçici hata ayıklama için kullanın.
- S:Chmod komutunu nasıl kullanırım?
- Terminalinizde,
chmod 755 dosya_adigibi bir komut çalıştırırsınız. Değişiklikleri bir dizine ve tüm içeriğine yinelemeli (recursive) olarak uygulamak içinchmod -R 755 dizin_adikomutunu kullanın. İstediğiniz değeri önce hesaplamak için bu aracı kullanın. - S:Chmod'u Windows'ta kullanabilir miyim?
- Doğal Windows komut satırı chmod kullanmaz çünkü farklı bir ACL sistemi uygular. Ancak chmod, Windows üzerinde çalışan WSL (Windows Subsystem for Linux) ve Git Bash ortamlarında etkilidir.
- S:Özel izinler (setuid, setgid, sticky bit) nelerdir?
- Bunlar, (en öne yerleştirilen) isteğe bağlı 4. bir rakamla ayarlanan özel haklardır. 'setuid' (4) programı dosya sahibi olarak yürütür, 'setgid' (2) grubun ayrıcalıklarını devralır ve 'sticky bit' (1) paylaşılan dizinlerdeki dosya silme işlemlerini kısıtlar.
Önerilen Standart Chmod Değerleri
- 755 (rwxr-xr-x):
Genel Dizin Klasörlerive aynı zamandaShell (Betik) Dosyalarıiçin evrensel standartlarda tam bir koruma ve yayın yetkilendirme katmanıdır. Dış kullanıcıların verileri çekmesi sağlanırken, dosya sahibi ise otonomiye sahiptir. - 644 (rw-r--r--):
.html, .phpgibi düz okunabilir olan metinsel dosyalar için ihlal edilemez idealize bir formdur. Çalıştırma izninin hiçkimseye verilmiyor olması (x), sunucuya kötücül amaçla betik atılmak istenmesini baştan önler. - 600 (rw-------): Güvenlikle alakalı SSL veya genel veritabanı ayar dosyaları (örneğin RSA Key vs.) klasörlerinde kullanılması gereken mutlak erişime kapalılık ayarıdır. Sahibi (owner) şifresiz açamaz klasörü dahi okuyamaz, yazamaz ve klasör içine müdahele edemez.
- 777 (rwxrwxrwx):
Çok Tehlikeli!Klasör, dosya veyahut dizini ziyaret eden ve bulan herkese tam yetki verir, dosyanızı silebilir yahut zararlı .php dosyasıyla sistemin içine kök (root) kurabilir. Sadece izole edilmiş havuz alanlarında ve korumalı geliştirme kutularında geçici olarak çalıştırılabilir.