Ne olur HTTP sunucusu "kimse" adlı bir kullanıcı tarafından koştu olduğunu, ve FTP kullanıcı başka biridir. Yükleme oluştuğunda, HTTP sunucusu adı altında bir dosya oluşturur, ve FTP kullanıcı bu dosyaları yazmak (veya silmek) için herhangi bir izin vardır.
Bunu düzeltmek (ama gerçekten güvenli değil) için en kolay yolu, aynı grupta hem kullanıcı eklemek ve aynı grubun kullanıcıları bu dosyalar üzerinde okuma / yazma için izin dosya izinlerini değiştirmek için.
Yönetici dikkat çekmek gerekir, ancak yüklenen dosyaların izinlerini değiştirmek için () chmod aramak gerekecek.
Daha iyi açıklanması:
The linux/unix file permissions are composed by permissions of user (u), group (g) and others (o).
I'll only cover 3 types of file permisions here, which are read (r), write (w) and execute (x). So, you end up having something like this:
-rw-rw---x 1 jweyrich staff 12288 Oct 24 00:22 avatar.png
- İlk dosyası (jweyrich) sahibi KULLANICI'nın izni (okuma / yazma) rw-olduğunu.
- İkinci dosyayı (Personel) sahibi GROUP izni (okuma / yazma) rw-olduğunu.
- - Sonunda x DİĞER kullanıcıların izinleri (yürütme) vardır ..
"Kimse" kullanıcı olarak çalıştırmak için PHP betikleri yüzden her sizin PHP oluşturmak "kimse" kullanıcı (ve onun grup) ait olacak dosyası, (tarafından ve, en, "kimse" grubu diyelim). Bir kullanıcı, bir veya daha fazla grup bir parçası olabilir.
To solve the permission problem, your FTP user and the "nobody" must be in a common group, let's say the admin put your user in the "nobody".
Once they're in the same group, your PHP script has to give "rw" (read/write) permissions to the "nobody" group members. To do so:
chmod("path_to_your_file", 0770);
0770 "u + Rwx, g+ Rwx, o-Rwx", ben burada açıklamak hangi eşdeğerdir:
- u + Rwx = kullanıcı ("kimse" dir sahibi) için, okuma / yazma vermek / yürütme izinleri
- u + Rwx = grup için (ayrıca "kimse" olan), okuma vermek / yazma / çalıştırma izinlerini
- o-RXW = başkaları için, okuma / yazma / kaldırma yürütme izinleri
Bundan sonra, şimdi "kimse" grubunun bir parçası olan FTP kullanıcı, yüklenen dosyalara / okuma / yazma erişimi olacak ve böylece aynı zamanda dosyaları silebilirsiniz. Bu gibi görünecektir:
-rwxrwx--- 1 nobody nobody 12288 Oct 24 00:22 avatar.png
Bu unix dosya izinlerine ideal bir giriş değil, ama bu yardımcı olur umarım.