PHP chmod() Dosya İzinleri
PHP'deki chmod() fonksiyonu, belirtilen bir dosyanın modunu kullanıcı tarafından verilen belirli bir moda değiştirmek için kullanılan dahili bir fonksiyondur.
Chmod()
fonksiyonu belirtilen dosyanın izinlerini değiştirir ve başarılı olduğunda true, başarısız durumunda false döndürür.
Sözdizimi:
File: Gereklidir. Dosyanın yolunu belirtir.
Mode: Gereklidir. Yeni izinleri belirtir.
mode değiştirgesi üç adet sekizlik değerden oluşur. Sırayla sahip, grup ve diğerlerinin izinlerini düzenlerler. Her bileşen kullanıcıya verilen izinlerin toplamından oluşur. Çalıştırma hakkı için 1, yazma hakkı için 2 ve okuma hakkı için 4 değeri toplama dahil edilir. Unix sistemlerindeki mode hakkında daha ayrıntılı bilgiyi 'man 1 chmod' ve 'man 2 chmod' kılavuz sayfalarında bulabilirsiniz.
ÖRNEK:
<?php
chmod("/test/deneme", 755); // onluk tabanda; doğru sonuç vermeyebilir
chmod("/test/deneme", "u+rwx,go+rx"); // dizge; doğru sonuç vermeyebilir
chmod("/test/deneme", 0755); // sekizlik; doğru kip değeri.
?>
Mode parametresi dört rakamdan oluşur:
- İlk sayı her zaman sıfırdır.
- İkinci sayı, sahip için izinleri belirtir.
- Üçüncü sayı, sahibinin kullanıcı grubu için izinleri belirtir.
- Dördüncü sayı, diğer herkes için izinleri belirtir.
Olası değerler (birden çok izin ayarlamak için aşağıdaki sayıları toplayın):
- 1 = çalıştırma izinleri
- 2 = yazma izinleri
- 4 = okuma izinleri
ÖRNEK:
<?php
// Sahip için okuma ve yazma,
chmod("test.txt",0600);
// Sahip için okuma ve yazma, diğer herkes için okuma
chmod("test.txt",0644);
// Sahip için okuma,yazma, çalıştır. Herkes için okuma ve çalıştırma
chmod("test.txt",0755);
// Sahip için okuma,yazma, çalıştır. Sahip grubu için okuyun
chmod("test.txt",0740);
?>
Dosya İzinlerini Anlama
Bildiğiniz gibi PHP dili en iyi linux server'de çalışır. Bu makalede linux dosya izinlerinden bahsedeceğim.
Linux'ta dosya sahipliği ve izinlerin temelleri. Bir dosyanın veya dizinin sahiplerinin kim olduğunu, dosya izinlerinin nasıl çalıştığını ve bunları nasıl görüntüleyebileceğinizi anlayın ve temel dosya izinlerini kendiniz nasıl ayarlayacağınızı öğrenin.
İzinler ve Mülkiyet Nedir?
Kendi Linux sisteminizdeki bazı dosyalara erişemiyorsanız, bunun nedeni genellikle yanlış yapılandırılmış dosya erişim izinleridir. Linux kutunuzdaki tek kullanıcı sizseniz, kendi penguen işletim sisteminize erişiminizi kısıtlayan tüm bu izinlere (veya bunların eksikliğine) sahip olmanın ne anlama geldiğini merak ediyor olabilirsiniz. Ancak, saçlarınızı çekmeden önce, Linux'un çok kullanıcılı bir ortam olarak tasarlandığını unutmayın. Birden fazla kullanıcının bulunduğu bir ortamda, hangi dosyaların size ait olduğuna ve bunlarla kimin ilgilenebileceğine karar vermek için güvenli bir sisteme sahip olunması çok önemlidir.
İzin Grupları
- Sahip
- grup
- Diğer
Tabloda izin grupları ve kapsamları açıklanmaktadır:
İzin | Açıklama |
---|---|
Sahip | Dosyanın veya dizinin atanmış sahibi tarafından kullanılan izinler. |
Grup | Dosya veya dizinin sahibi olan grubun üyeleri tarafından kullanılan izinler. |
Diğer | Dosya sahibi ve dosya veya dizinin sahibi olan grubun üyeleri dışındaki tüm kullanıcılar tarafından kullanılan izinler. |
Dosya sahipliğini anlama
Linux sisteminizdeki, dizinler de dahil olmak üzere her dosya belirli bir kullanıcıya ve gruba aittir. Bu nedenle, dosya izinleri sahip, gruplar ve diğerleri için ayrı ayrı tanımlanmıştır.
Sahip: Dosyaya sahip olan kişinin kullanıcı adı. Varsayılan olarak, dosyayı oluşturan kullanıcı sahibi olur.
Grup: Dosyaya sahip olan kullanıcı grubu. Dosyaya sahip olan gruba ait olan tüm kullanıcılar, dosyaya aynı erişim izinlerine sahip olacaktır. Bu, örneğin, belirli dosyalara erişebilmeleri için bir kaç farklı kullanıcı gerektiren bir projeniz varsa, diğerleri ise kullanılamaz. Bu durumda, tüm kullanıcıları aynı gruba ekler, gerekli dosyaların bu gruba ait olduğundan emin olur ve dosyanın grup izinlerini buna göre ayarlarsınız.
Diğer: Dosyanın sahibi olmayan ve dosyaya sahip olan gruba ait olmayan bir kullanıcı.
Dosya izinlerini anlama
Linux'ta üç tür erişim izni vardır: okuma, yazma ve çalıştırma. Bu izinler, dosya sahibi, grubu ve diğer tüm kullanıcılar için ayrı ayrı tanımlanır.
Kullanılan İzin Türleri:
- r - Oku
- w - Yaz
- x - Çalıştır.
Okuma izni: Normal bir dosyada, okuma izni, dosyanın açılıp okunabileceği anlamına gelir. Bir dizinde, okuma izni dizinin içeriğini listeleyebileceğiniz anlamına gelir.
Yazma İzni: Düzenli bir dosyada bu, dosyayı değiştirebileceğiniz, yani dosyaya yeni veriler yazabileceğiniz anlamına gelir. Bir dizinde, yazma izni dizindeki dosyaları ekleyebileceğiniz, kaldırabileceğiniz ve yeniden adlandırabileceğiniz anlamına gelir. Bu, bir dosyanın yazma izni varsa, dosyanın içeriğini değiştirmenize izin verilir.
Çalıştır: Normal bir dosya söz konusu olduğunda, dosyayı bir program veya kabuk betiği olarak çalıştırabilirsiniz.
Dosya izinleri nasıl ayarlanır - sayısal mod
Chmod
komutuyla izinleri değiştirmenin yolu, dosya için her izin kümesini belirtmek üzere bir sayı kullanmaktır.
Her izne, aşağıdaki tabloda gösterildiği gibi bir değer atanır ve her izin kümesinin toplamı bu küme için bir sayı sağlar.
Numara | Sekizli sayı | ref |
---|---|---|
0 | İzin yok | --- |
1 | Çalıştırma | -X |
2 | Yazma İzni | -W- |
3 | Çalıştırma ve yazma izni: 1 (çalıştırma) + 2 (yazma) = 3 | -wx |
4 | Okuma izni | r-- | 5 | Okuma ve çalıştırma izni: 4 (okuma) + 1 (çalıştırma) = 5 | rx |
6 | Okuma ve yazma izni: 4 (okuma) + 2 (yazma) = 6 | rw |
7 | Tüm izinler: 4 (okuma) + 2 (yazma) + 1 (çalıştırma) = 7 | rwx |
İzinler sayısal olarak da temsil edilebilir:
ilk sayı Sahip iznini temsil eder; ikincisi Grup izinlerini temsil eder; ve son sayı diğer tüm kullanıcıların izinlerini temsil eder. Sayılar rwx dizesinin ikili gösterimidir.
- r = 4
- w = 2
- x = 1
Her bir bölümü meta dosya izinlerinin (yukarıdaki örnekten) 664 olmasını sağlayacak şekilde ekleyin. İşte bu sayıya nasıl bulduğumuzun, incelemenin başka bir yolu:
- (RW -) (RW -) (r--) - (42 -) (42 -) (4--) 664
- HTML
- CSS
- PHP
- JQUERY
- PHOTOSHOP
- JavaScript
- Web Dünyası
- Linux
- MİTHRİL FRAMEWORK
- Laravel
- Git
- React
- HTML LİNK(Bağlantı)EKLEME - LİNK VERME
- HTML YAZI VE RESİM ORTALAMA
- HTML RESME LİNK VERME
- HTML FORM OLUŞTURMA
- CSS YATAY MENÜ YAPIMI
- HTML RESİM EKLEME
- CSS (BOYUT) GENİŞLİK VE YÜKSEKLİK (Width-Height)
- HTML DİV ve SPAN NEDİR?
- HTML ARKAPLANA MÜZİK EKLEME
- KALİTE KAYBETMEDEN RESİMLERİ BÜYÜTME