İçeriğe atla
tolgahat.com
ARAÇSistem

chmod Hesaplayıcı

Sekizli, sembolik ya da onay kutularıyla izin girin; chmod komutları, ls -l görünümü, güvenlik uyarıları ve umask hesabı anında güncellenir. Tamamen tarayıcınızda çalışır; girdiğiniz hiçbir veri sunucuya gönderilmez.

İzin ızgarası
SınıfOKUMA (r)YAZMA (w)ÇALIŞTIRMA (x)SEKİZLİ
Sahip (u)7
Grup (g)5
Diğer (o)5
Sık kullanılanlar
SEKİZLİ755
ls -l GÖRÜNÜMÜ-rwxr-xr-x
  • Sahip: okuma, yazma, çalıştırma
  • Grup: okuma, çalıştırma
  • Diğer: okuma, çalıştırma

KOMUTLAR

Sekizli
chmod 755 dosya
Sembolik
chmod u=rwx,g=rx,o=rx dosya
Doğrulama (Linux)
stat -c '%a %A %n' dosya
Doğrulama (macOS/BSD)
stat -f '%Lp %Sp %N' dosya

stat -c %a çıktısı 755, %A çıktısı -rwxr-xr-x olur. %a özel bit yoksa 3 hane, varsa 4 hane (ör. 4755) yazar.

SEMBOLİK İFADE UYGULA

755 → 754 (-rwxr-xr--)

u sahip, g grup, o diğer, a hepsi; + ekler, - kaldırır, = tam olarak ayarlar. Büyük X yalnızca dizinlere ya da zaten bir çalıştırma biti olan dosyalara x ekler (chmod -R a+rX için idealdir). Kim belirtilmezse (+x) burada a kabul edilir; GNU chmod bu durumda umask'taki bitlere dokunmaz.

UMASK HESABI

yeni dosya: 644 (-rw-r--r--)yeni dizin: 755 (drwxr-xr-x)

Programlar yeni dosyaları genellikle 666, dizinleri 777 ile ister; umask'taki bitler bundan çıkarılır (bit düzeyinde istenen & ~umask). Çoğu dağıtımda varsayılan 022, ortak gruplu kurulumlarda 002'dir.

Nasıl çalışır?

Her dosyanın üç sınıf için (sahip, grup, diğer) üçer izin biti vardır: okuma r=4, yazma w=2, çalıştırma x=1. Bir sınıfın bitleri toplanınca tek bir sekizli hane çıkar: rwx = 4+2+1 = 7, r-x = 5. Üç hane yan yana yazılınca 755 elde edilir. Önüne eklenen dördüncü hane setuid (4), setgid (2) ve sticky (1) bitlerini taşır.

Dizinlerde anlamlar biraz değişir: r içeriği listelemeyi, w dosya ekleyip silmeyi, x ise dizine girip içindeki dosyalara erişmeyi sağlar. Sembolik ifadeler (u+x, go-w, a=rX) GNU chmod kurallarına göre mevcut izne uygulanır. Hesaplamanın tamamı tarayıcıda yapılır.

Sık sorulan sorular

chmod 755 ile 644 arasındaki fark nedir?

755 (rwxr-xr-x) sahibine okuma, yazma ve çalıştırma, diğer herkese okuma ve çalıştırma verir; dizinler ve betikler için uygundur. 644 (rw-r--r--) çalıştırma izni vermez; yapılandırma ve web dosyaları için olağan seçimdir.

Sekizli izindeki dördüncü hane (4755, 2775, 1777) ne anlama gelir?

Baştaki hane özel bitlerdir: 4 setuid, 2 setgid, 1 sticky. 4755 programın dosya sahibinin yetkisiyle çalışmasını, 2775 dizinde oluşturulan dosyaların dizinin grubunu almasını, 1777 ise /tmp gibi herkesin yazabildiği ama yalnız kendi dosyasını silebildiği dizini tanımlar.

ls -l çıktısında büyük S ya da T neden görünür?

Küçük s/t, özel bitin ve ilgili çalıştırma bitinin birlikte açık olduğunu gösterir. Büyük S ya da T ise özel bit açık ama çalıştırma biti kapalı demektir; çoğu zaman yanlış yapılandırmanın işaretidir.

chmod -R 777 sorunumu çözer mi?

Geçici olarak çözüyormuş gibi görünür ama sistemdeki her kullanıcıya ve ele geçirilmiş her servise dosyaları değiştirme yetkisi verir. Doğru çözüm sahibi ya da grubu düzeltmek (chown, chgrp) ve dizinlere 755, dosyalara 644 vermektir: find . -type d -exec chmod 755 {} + ve find . -type f -exec chmod 644 {} +.

umask 022 neden yeni dosyaları 644 yapar?

Programlar dosyaları genellikle 666, dizinleri 777 izniyle oluşturmak ister; çekirdek bu izinden umask'taki bitleri çıkarır. 666'dan 022 çıkınca 644, 777'den çıkınca 755 kalır. umask bir izin vermez, yalnızca izin kaldırır.