Kim bir php exec tar ekstre dosyanın sahibi?

3 Cevap php

Eğer bir tar dosyasını halletmek için bir php komut dosyası kullandığınızda kadar dosya izinleri ile ilgili olarak, dosyaların "sahibi" kullanıcı kim oluşturulan nedir?

Onun benim ftp kullanıcı eğer ben komut dosyası yüklenen çünkü ben merak ediyorum? Veya apache dosyayı kendi yapar? Ben (başkası tarafından oluşturulan ve arşivlenen durumlarda dosyaları) Ben istemiyorum özgün izinleri korumak için ayarlanacak bayraklar onların biliyorum. Benim kullanıcı dosyalarının creater / sahibi olmak istiyorum.

PS Its a cloud environment. Below is the code I uploaded. I executed by visiting the page in a browser. I can change file permissions in Dreamweaver... Does that mean I am owner?

exec('wget http://wordpress.org/latest.tar.gz'); exec('tar -xzvf latest.tar.gz');

3 Cevap

Büyük olasılıkla, apache, apache olarak çalıştıran kullanıcı çalıştırırsanız.

Ne olursa olsun kullanıcı PHP çalışır. Onun web sunucunun sistem kullanıcı adı veya (suexecin aracılığıyla) webroot sahibi ya. Sunucu tarafından sahip olursa, onun büyük olasılıkla nobody veya www-data.

Ne en önemli olarak çalışan ne kullanıcı PHP (sunucu tarafı) 'dir. Try this bulmak için.

You can do echo shell_exec('whoami'); And that will output the name of the user. For me, it outputted apache

Ve evet, apache dosyaları sahibi olacak. Örneğin, root olarak böyle bir şey yaparsanız:

root@localhost# cp /home/user/foo /home/user/foo2
root@localhost# ls -l /home/user
-rw-rw-r--  1 user user       232 Apr  12 12:00 foo
-rw-rw-r--  1 root root       232 Apr  12 12:01 foo2