Evet php üzerinden bunu yapmak mümkün. Eğer apache kullanıcı (kimse) tarafından sahip olunan ve apache kullanıcı yazma izinlerine sahip değil komut chmod arıyoruz şekilde zamanki linux izinler kuralları uygulanır fakat daha sonra bir yöntem sudo kullanmak için apache izin vermek
Bu potansiyel büyük bir güvenlik açığıdır - uyardı!
Sen sudoers dosyasını düzenleyerek sudo kullanmak için apache izin verebilir. Bu bir hata yani benim (Ubuntu) sistemi üzerinde yazarken tamamen vidalı bırakabilirsiniz gibi doğrudan bu dosyayı düzenlemek kalmamasıdır önerilir
sudo visudo
Sonra da "kimse" kullanıcı için bir satır eklemek gerekir. I izinlerini değiştirmek için bir kabuk komut dosyası yazma tavsiye ve ardından uzak başka bir komut bir klasöre bu yerleştirerek bu yüzden belirli bir komut dosyası veya klasör için sudo izinlerini kısıtlayabilirsiniz. Bu şekilde apache (oldukça korkutucu bir düşünce) sisteminizde tam root ayrıcalıklarına sahip değil. Ayrıca değiştirilebilir hangi dosyaları kısıtlamak için kabuk bazı kod koyabilirsiniz.
Ayrıca php şifreyi girerek yol yok gibi bir şifre olmadan sudo apache izin vermeniz gerekir. Yani eklersiniz çizgi gibi bir şey olduğunu
nobody ALL=(ALL)NOPASSWD:/path/to/my/script
Sonra php sadece sudo komut öneki
passthru ("sudo /path/to/my/script ...");
(Eğer (passthru yerine kullanabileceğiniz birkaç diğer işlevleri vardır), aklıma geldi bu sadece ilk)
Daha önce söylediğim gibi, bu potansiyel olarak çok tehlikeli olduğu ve yukarıda çalışacak iken, ben sadece bir kamu üretim sunucusuna, önce benim kendi özel sistemi üzerinde asla kullandık. Ben insanların bol yüzden bu yöntemle olabileceğini potansiyel başka hangi tuzaklar ve güvenlik delikleri duymak ilgi olacağını bu güvenliği konusunda yorum olacaktır eminim. Ben benzer bir şey Suexec kullanılarak yapılabilir biliyorum ama herkes bu yöntemi üzerinde Suexec herhangi artıları veya eksileri varsa ben bunları duymak için ilgi olacağını bu yüzden çok aşina değilim.
Son not: Ben 'apache' veya 'www' gibi bir şey için kimseden apache kullanıcıyı değiştirmek istiyorum - belki sadece biraz aptalca ama ben kimsenin adında bir kullanıcıya root izinlerini verme fikrini sevmiyorum!
Bu yardımcı olur umarım!