ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
İzin kavramı Unix/Linux dosya sisteminin merkezinde yer alır. İzinler bir dosyaya kimin erişebileceğini ve bir dosyaya nasıl erişilebileceğini belirler. Linux'taki dosya izinleri , Linux terminali içinde çalıştırılabilen chmod komutuyla yönetilir. PHP, dosya izinlerini programlı olarak işleyebileceğiniz chmod() işlevini sağlar.
PHP'nin chmod() fonksiyonu yalnızca Linux işletim sisteminde çalışırken etkilidir. Windows'ta çalışmaz çünkü Windows işletim sisteminin dosya izinlerini kontrol etme mekanizması farklıdır.
Bir dosyada etkinleştirilen izinleri görüntülemek için, " ls -l " komutunu kullanarak dosyaların listesini alın (uzun listeleme)
İlk sütun her dosyanın izin bayraklarını içerir. Üçüncü ve dördüncü sütun her dosyanın sahibini ve grubunu, ardından boyutu, tarihi ve saati ve dosya adını gösterir.
İzin dizisi on karakterden oluşur, anlamları aşağıdaki gibi açıklanmıştır.
Konum
Anlam
1
"d" bir dizin ise, "-" normal bir dosya ise
2, 3, 4
dosyanın kullanıcısı (sahibi) için okuma, yazma, yürütme izni
"a.out" dosyası "mvl" kullanıcısı ve "mvl" grubuna aittir. Sahibi için "okuma/yazma/yürütme" izinlerine ve grup ve diğerleri için "okuma/yürütme" izinlerine sahip normal bir dosyadır.
İzin bayraklarının ikili ve sekizli gösterimi aşağıdaki tabloyla anlaşılabilir:
Sekizli Rakam
İkili Gösterim (rwx)
İzin
0
000
hiçbiri
1
001
sadece yürüt
2
010
sadece yaz
3
011
yaz ve çalıştır
4
100
sadece okunabilir
5
101
oku ve yürüt
6
110
oku ve yaz
7
111
okuma, yazma ve yürütme (tam izinler)
chmod() Fonksiyonu
chmod() fonksiyonu belirtilen bir dosyanın izinlerini değiştirebilir. Başarılı olduğunda true, başarısız olduğunda false döndürür.
chmod() fonksiyonu belirtilen dosyanın ( $filename ) modunu izinlerde verilen moda değiştirmeye çalışır.
İkinci parametre $permissions, dört sekizli basamağa sahip sekizli bir sayıdır. İlk basamak her zaman sıfırdır, ikinci basamak sahibi için izinleri, üçüncü basamak sahibinin kullanıcı grubunu ve dördüncü basamak da diğer herkesi belirtir. Her basamak her izin türü için değerlerin toplamıdır.
1
Yürütme İzni
2
Yazma İzni
4
Okuma İzni
$permissions parametrelerinin varsayılan değeri 0777'dir, bu da dizinin yürütme, yazma ve okuma izinlerinin etkinleştirilerek oluşturulduğu anlamına gelir.
Örnek
Aşağıdaki örneğe bir göz atın.
PHP:
<?php
// Read and write for owner, nothing for everybody else
chmod("/PhpProject/sample.txt", 0600);
// Read and write for owner, read for everybody else
chmod("/PhpProject/sample.txt", 0644);
// Everything for owner, read and execute for everybody else
chmod("/PhpProject/sample.txt", 0755);
// Everything for owner, read for owner's group
chmod("/PhpProject/sample.txt", 0740);
?>
chown() Fonksiyonu
chown() fonksiyonu filename dosyasının sahibini yeni bir kullanıcıya değiştirmeye çalışır. Sadece süper kullanıcının bir dosyanın sahibini değiştirebileceğini unutmayın.
<?php
// File name and username to use
$file_name= "index.php";
$path = "/PhpProject/backup: " . $file_name ;
$user_name = "root";
// Set the user
chown($path, $user_name);
// Check the result
$stat = stat($path);
print_r(posix_getpwuid(fileowner($path)));
?>
chgrp() Fonksiyonu
chgrp() fonksiyonu filename adlı dosyanın grubunu group olarak değiştirmeye çalışır.
Yalnızca bir süper kullanıcı bir dosyanın grubunu keyfi olarak değiştirebilir; diğer kullanıcılar bir dosyanın grubunu, o kullanıcının üyesi olduğu herhangi bir grupla değiştirebilir.
Örnek
Aşağıdaki örneğe bir göz atın.
PHP:
<?php
$filename = "/PhpProject/sample.txt";
$format = "%s's Group ID @ %s: %d\n";
printf($format, $filename, date('r'), filegroup($filename));
chgrp($filename, "admin");
clearstatcache(); // do not cache filegroup() results
printf($format, $filename, date('r'), filegroup($filename));
?>
Aşağıdaki çıktıyı üretecektir:
/PhpProject/sample.txt's Group ID @ Fri, 13 Oct 2023 07:42:21 +0200: 0
/PhpProject/sample.txt's Group ID @ Fri, 13 Oct 2023 07:42:21 +0200: 0