PHP Güvenli Mod GID nedir?

4 Cevap php

PHP Safe Mode Docs safe_mode_gid üzerine göre:

Varsayılan olarak, Güvenli Mod bir UID dosyaları açarken kontrol karşılaştırma yapar. Bir GID karşılaştırmak için bu rahatlamak istiyorsanız, o zaman safe_mode_gid açın. Dosya erişimi üzerine kontrol UID (YANLIŞ) veya GID (DOĞRU) kullanmak ister.

Bir web sunucusu üzerinde çalışan bir PHP komut dosyası, bir UID (kullanıcı kimliği) kontrol ve GID (Grup tanımlayıcı) kontrol arasındaki fark nedir?

4 Cevap

Bu sadece size web sunucusu kurulumu biraz daha fazla esneklik sağlayacaktır. Güvenli mode gid kullanarak, sistemdeki her kullanıcı için ayrı bir PHP / httpd süreçlerine çalıştırmak mümkün olacak, ancak her işlem sürece hepsi aynı olarak çalıştırmak gibi bazı paylaşılan dosyaları okumak için becerisi kazandırmak gerekir grubu (GID) ve paylaşılan dosyalar bu gruba aittir.

Güvenli mod UID onay diğer halklar dosyalara erişmesini önlemek için kullanılır. GID diğer GRUPLARI dosyalara erişimini kullanıcıların GRUP önlemek için kullanılır.

Örneğin web sunucusu kullanıcı adı ve grubu apache:www,

UID kontrol etmek için ayarlarsanız, php süreci sadece kullanıcıya ait herhangi bir dosya erişimi olacak apache. Eğer tomcat:www bir kullanıcı adı ve grubu ile tomcat örneğin, sistem üzerinde çalışan başka bir web sunucusu varsa o {[aittir çünkü Yani, tomcat işlemi tarafından oluşturulan herhangi bir dosya php tarafından erişilebilir olmayacak (2)]} kullanıcı.

Yerine GID çeki kullanırsanız aynı www grubuna ait çünkü Ama, tomcat süreç tarafından oluşturulan dosyaları php işlemi tarafından okunabilir olacaktır

Çoğu cevaplar SCRIPT sahibi erişmek istediğiniz dosyanın sahibini eşleşirse Safe_mode kontrolleri ihmal etmeyin ... tam olarak doğru veya ayrıntılı değildir. Grubu: httpd kullanıcı ile ilgisi vardır.

Örneğin, httpd apache olarak çalıştırabilir: cini, some_user ait script: kullanıcılar ve some_other_user için sağa istediğiniz dosya: Kullanıcıların

Eğer safe_mode_gid aktive etmezseniz, komut dosyası kullanıcıların eşleşmiyor çünkü dosyaya erişmek mümkün olmayacaktır.

Bir komut dosyası bir klasör oluşturur ve daha sonra bu klasöre içindeki dosyaları oluşturmaya çalıştığında bu yaygın bir olgudur.

Ana klasör komut dosyası (büyük olasılıkla bu "some_user" tarih oldu) onu oluşturma gibi aynı kullanıcı tarafından ait olduğundan klasör oluşturma başarılı.

ANCAK, oluşturulan klasör artık httpd kullanıcı tarafından sahip olunan, en apache diyelim: cini

Safe_mode etkin ise, komut sahibi (some_user) klasör sahibine (apache) uyuşmuyor çünkü bu klasörün içinde bir dosya oluşturmak mümkün olmayacaktır.

Eğer safe_mode_gid etkinleştirmek bile klasör grubu "cini" ise komut grubu "kullanıcılar", çünkü bu iş olmaz.

The best solution is to set the same group for ftp users and httpd. Don't forget you have to allow write access to the group on the "writeable" folder too, and this is less secure because since all your users are in the same group, an httpd process could access the other users files since you activate safe_mode_gid.

Siz aslında safe_mode_gid + open_basedir'inizi birleştirmek ve bunu önlemek için open_basedire değer olarak kullanıcının ev ayarlamanız gerekir.

HTH