Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kopiranje fajlova uz očuvanje permission-a

[es] :: PHP :: Kopiranje fajlova uz očuvanje permission-a

[ Pregleda: 2783 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

BytEfLUSh
Neven Pintarić
Nano-mage Engineer, Slave SysAdmin
Sombor

Član broj: 21153
Poruke: 5499
82.117.210.*



+14 Profil

icon Kopiranje fajlova uz očuvanje permission-a29.04.2005. u 00:16 - pre 231 meseci
Imam sledeći kod:

Code:
function dircopy($source, $dest)
{
    if (is_file($source)) {
        return copy($source, $dest);
    }
    if (!is_dir($dest)) {
        mkdir($dest);
    }
    $dir = dir($source);
    while (false !== $entry = $dir->read()) {
        if ($entry == '.' || $entry == '..') {
            continue;
        }
        if ($dest !== "$source/$entry") {
            dircopy("$source/$entry", "$dest/$entry");
            $perms = substr(sprintf('%o', fileperms("$source/$entry")), -4);
            chmod ("$dest/$entry", $perms);
        }
    }
    $dir->close();
    return true;
}


Dakle, to treba da kopira ceo direktorijum (i njegove poddirektorijume) na drugo mesto na disku s tim što će na destination fajlove staviti isti mod kao što je na source fajlovima. Međutim, to ne funkcioniše - kopira on sve, ali fajlovi dobiju mode 0411 umesto 0777. Negde sam pročitao da je to zato što user pod kojim se pokreće Apache nema privilegiju da menja permissions od drugih fajlova, a mislim da mu ni ne bi bilo pametno dati tu mogućnost (gledano iz sigurnosnog ugla).

Da li postoji neki drugi način da se ovo odradi iz PHP-a?


EDIT: ftp_chmod ne može zato što nemam FTP usera koji bi to mogao odraditi.

Putuj planeto, super smo se družili
nama je lepo, taman kako smo zaslužili!
 
Odgovor na temu

_owl_

Član broj: 318
Poruke: 1043
*.drenik.net.



+3 Profil

icon Re: Kopiranje fajlova uz očuvanje permission-a29.04.2005. u 14:27 - pre 231 meseci
Pa fora je u tome sto ti je promenljiva $perms tipa string a funkcija chmod ocekuje da drugi parametar bude tipa int pa zato dobijas pogresne dozvole (PHP pri konverziji podrazumeva da je $params u decimalnom a ne oktalnom formatu).
Owl
 
Odgovor na temu

BytEfLUSh
Neven Pintarić
Nano-mage Engineer, Slave SysAdmin
Sombor

Član broj: 21153
Poruke: 5499
82.117.210.*



+14 Profil

icon Re: Kopiranje fajlova uz očuvanje permission-a29.04.2005. u 14:35 - pre 231 meseci
To sam i ja pomislio, ali ni kad stavim chmod ("$dest/$entry", 0777); neće da radi, već mu uvek stavi mod 0411... Nije mi jasno - ako je PHP owner tih fajlova, zar ne bi trebao da može i da im menja permisije?

Putuj planeto, super smo se družili
nama je lepo, taman kako smo zaslužili!
 
Odgovor na temu

_owl_

Član broj: 318
Poruke: 1043
*.drenik.net.



+3 Profil

icon Re: Kopiranje fajlova uz očuvanje permission-a29.04.2005. u 22:58 - pre 231 meseci
Bice da si ti nesto lose testiro.
Code:

<?php
function create_file($filename, $perms) {
    $filename="./" . basename($filename);
    if ( file_exists($filename) ) {
        return;
    }
    $fp=fopen($filename, "w");
    fclose($fp);
    chmod ($filename, $perms);
}
create_file("test1.txt", "0777");
create_file("test2.txt", 0777);
echo "Fajlovi kreirani";
?>

Rezultat rada skripte je:
Code:

-r----x--t    1 apache   web             0 Apr 29 22:16 test1.txt*
-rwxrwxrwx    1 apache   web             0 Apr 29 22:16 test2.txt*

Owl
 
Odgovor na temu

BytEfLUSh
Neven Pintarić
Nano-mage Engineer, Slave SysAdmin
Sombor

Član broj: 21153
Poruke: 5499
*.nat-pool.so.sbb.co.yu.



+14 Profil

icon Re: Kopiranje fajlova uz očuvanje permission-a30.04.2005. u 00:09 - pre 231 meseci
Hmmm zaista čudno. To je u principu isto ono što sam i ja uradio (tj. 0777 bez navodnika), samo što sam umesto ./filename.txt stavljao punu putanju do fajla (tu nema greške pošto je sa istom tom putanjom uspešno kreirao fajlove).

Da li je moguće da je na serveru podešeno da apache user nema prava da menja permisije na fajlu čak i ako je on owner tog fajla?

Putuj planeto, super smo se družili
nama je lepo, taman kako smo zaslužili!
 
Odgovor na temu

[es] :: PHP :: Kopiranje fajlova uz očuvanje permission-a

[ Pregleda: 2783 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.