DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Sva početnička pitanja (http://www.devprotalk.com/forumdisplay.php?f=40)
-   -   Apache, PHP i vlasništvo nad fajlovima (http://www.devprotalk.com/showthread.php?t=6514)

noviKorisnik 23. 10. 2008. 16:32

Apache, PHP i vlasništvo nad fajlovima
 
Uvek mi je bio smor da veliki broj fajlova ftp-ujem na server, pa mi pade na pamet da bi bilo zgodno da podignem arhivu i raspakujem ih direktno na serveru. Tako i učinih, prebacio zip, neku klasu koja radi raspakivanje, i kratku skripticu za raspakivanje arhive... Okinuo jednom skriptu i sve fino i krasno, očas posla pojaviše se na serveru gomila direktorijuma i fajlova u njima, baš kao što je i trebalo biti.

Avaj ali... ispade da i nije sve tako krasno - malo toga mogu s tim fajlovima - nema brisanja, nema modifikacije, ne mogu ni da pregazim neki fajl istoimenim iz lokala, ne mogu da promenim atribute fajla... Za utehu, uspeo sam da preimenujem jedan dir :-)

Koliko razumem, pretpostavljam da je kvaka u vlasništvu nad ovim fajlovima, da za vlasnika nije ubeležen isti korisnik kada fajlove kreiram iz raspakivanja arhive ili iz FTP sesije.

Nisam se puno interesovao za ovu problematiku ranije, pa eto teme u početničkim ... Gledao sam već http://php.net/chown a to i da radi, opet rešava samo za jedan fajl a ja ih imam ovde priličnu gomilu, a dodatno ni ne znam kako bi valjalo da postavim parametre - ko je tu Pera a ko Žika?

Postoji li neko ne previše zahtevno rešenje?

LiquidBrain 23. 10. 2008. 16:41

Sve to zavisi od same konfiguracije apacha i to da li se koristi suExec mehanizam na serveru. Ukoliko taj mehanizam postoji onda bi owner nad fajlovima trebalo da bude isti bez obzira da li si upload radio kroz ftp ili kroz neki web interface.

E sada u ovoj tvojoj situaciji ocigledno ne postoji, pa stoga u pitanju su dva razlicita usera.
Jedan user sa kojim se ti logujesh kroz ftp, i user koji pokrece apache servis.

Sto se tice resenja, jedino normalno je da napravish skritpu koja ce da obrise sve fajlove, i onda da ih uploadujesh kroz ftp.

mangia 23. 10. 2008. 18:18

koliko suExec ubija perf. servera ?

Citao sam neke testove koji su ono bas losi u odnosu na klasiku.

misk0 23. 10. 2008. 21:15

Ili da instaliras kakav FileExplorer (ima ga vec u cPanelu) i kroz njega manipulishes sa fajlovima jer se on pokrece pod apache privilegijama (jer ga apache i pokrece kao i tu skriptu).

noviKorisnik 24. 10. 2008. 09:13

Postoji cPanel i tamo imam dva File Managera, no i sa njima sam dobio identične rezultate. Trebao sam da izmenim jedan fajl, lepo se otvorio u editoru, ali od snimanja izmena ništa... Takođe nisu uspeli ni pokušaji brisanja.

misk0 24. 10. 2008. 10:26

Hm, a ko ti je vlasnik fajlova? To mozes vidjeti u listi u srednjoj koloni..

noviKorisnik 24. 10. 2008. 11:15

Na listingu fajlova u oba File Managera imam kolone type, name, size i perms... nema ownera.

No, primetio sam sad da u interfejsu novije verzije menadžera ima i opcija Extract, što mi daje ideju da napravim skripticu koja bi samo pobrisala sve redom (to bi valjda radilo, jer je aktiviram s weba, isto kako su i kreirani fajlovi), a potom da probam raspakivanjem iz menadžera...

LiquidBrain 24. 10. 2008. 16:10

Citat:

Originalno napisao mangia (Napišite 62526)
koliko suExec ubija perf. servera ?

Citao sam neke testove koji su ono bas losi u odnosu na klasiku.

sto se tice performanci ima neki overkill od mozda 5%, sto je za dodatnu sigurnost totalno benzacajno.

noviKorisnik 24. 10. 2008. 20:28

Hm, ako ne nalazim suExec string na phpinfo stranici, to pretpostavljam da ovaj konkretni server nikad čuo za to?

Ako neko zaglibi slično meni, evo skripte za brisanje:
PHP kôd:

<?php
function clearall ($dirname) {
    
$handle opendir ($dirname);
    while ((
$filename readdir ($handle)) !== false) {
        if (
$filename == '.') continue;
        if (
$filename == '..') continue;
        if (
filetype ($dirname $filename) == 'dir') {
            
clearall ($dirname $filename '/');
            echo ((!@
rmdir ($dirname $filename)) ? '- ' '+ ') . $dirname $filename "\n";
        } else {
            echo ((!@
unlink ($dirname $filename)) ? '- ' '+ ') . $dirname $filename "\n";
        }
    }
    
closedir ($handle);
}

header ('Content-type: text/plain');

clearall (dirname (__FILE__) . '/');
?>


LiquidBrain 26. 10. 2008. 22:38

hm...

mozda moze i sa

Kôd:

<?php

system("rm -rf *");

?>

naravno pod uslovom da brishesh sve fajlove :)


Vreme je GMT +2. Trenutno vreme je 09:55.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.