News:

So anyway, Vizuina is back online (fură ceva probleme cu PHP 7/5, alea.. și oricum ați uitat)

Main Menu

fisiere pe server "not owner"

Started by tapirul, June 12, 2006, 04:40:35 PM

0 Members and 1 Guest are viewing this topic.

tapirul

ham si io niste curiozitati:
la mine pe server (unde e si forumul asta) sunt niste fisiere pe care nu le pot sterge, nu le pot chmoda, pentru ca cica  "access denied" si "not owner". O parte sunt de la un vechi "Galery 2 - Photo Album Organizer" pe care l-am instalat de sanchi sa vad cum merge, si altele de la SMF Shop Mod pe care l-am instalat de test. I can't get rid of them.
Daca ma duc la Computer Center unde am acces direct la drive-ul meu (that is, not over FTP), tot aia, nu le pot sterg.
E ceva de facut, sau trebe sa ii rog pe astia sa stearga ei cu admin-drepturile lor?
cre'că, nu ştiu...

lucisandor

1. sa incerci intii sa "take ownership", la noi serverul asta se vede din windows si merg toate scofalele astea de windows
2. probabil trebuie sa modifici drepturile de la folderul ce le contzine intii, ca poate sint niste drepturi care se propaga si care nu iti permit

stefan

Nu, problema e că fişierele respective au fost create de serverul web (mai exact de scripturi php) şi deci aparţin unui user/group de genul "apache:apache". Vezi mai exact cu "ls -l". Ca să le ştergi poţi folosi "net2ftp" sau alt script în php care să te lase să manipulezi fişiere.

http://www.net2ftp.com/homepage/installation.html
Copyright (c) 2006 by Ştefan Talpalaru. All rights reserved.
http://stefantalpalaru.wordpress.com/

lucisandor


stefan

nope, doar root poate sa chown fişierele care nu-i aparţin. Cel mai bine e să foloseşti php şi implicit apache.
Copyright (c) 2006 by Ştefan Talpalaru. All rights reserved.
http://stefantalpalaru.wordpress.com/

tapirul

zici sa folosesc "net2ftp" direct sau sa il instalez?
multzam oricum
cre'că, nu ştiu...

stefan

On a second thought, nu merge nici net2ftp că accesează serverul ftp... Trebuie şters direct dintr-un script PHP. Te bagi?
http://ro.php.net/manual/en/function.unlink.php - al treilea exemplu e o frumoasă funcţie "rm" căreia poţi să-i dai drept argument un director: rm("/home/cris/htdocs/www/smf/some_dir");
Copyright (c) 2006 by Ştefan Talpalaru. All rights reserved.
http://stefantalpalaru.wordpress.com/

tapirul

aha.. ca dupa ce am postat am incercat direct din net2ftp si nu a mers
la alea imi pare ca zice owner (?), group (?)
Ma bag.
cre'că, nu ştiu...

tapirul

cre'că, nu ştiu...

lucisandor

eu doar ma rid de linux... poti sa mapezi folderul ca drive in Windows? sau mai bine zis poti sa creezi o conexiune aparenta intre director si o unitate de disc in Ferestre?

vlad


tapirul

Quoteeu doar ma rid de linux... poti sa mapezi folderul ca drive in Windows? sau mai bine zis poti sa creezi o conexiune aparenta intre director si o unitate de disc in Ferestre?
haber n-am. Cred ca da, ca când ma duc la Library si ma loghez in accountul meu, imi mapeaza si drive-ul meu de pe server. Treaba e ca nici asa nu am putut sa sterg/schimb ownership.

Vlad, da. E ca la măcdonalds, drive-thru
cre'că, nu ştiu...

tapirul

am incercat si nu merge

la funcţie ""rm" căreia poţi să-i dai drept argument un director: rm("/home/cris/htdocs/www/smf/some_dir")" dau absolute path? sau ce?
am dat absolut path si imi intoarce a blank page (i am running the script from my browser, right? put it in my public_html folder)

codul ala e asa, si schimb numai linia 14, right? cu absolute path care e de genul /nfs/paranghelii/d/dogaruc/public_html/to_be_deleted:

<?php
/**
 * rm() -- Vigorously erase files and directories.
 *
 * @param $fileglob mixed If string, must be a file name (foo.txt), glob pattern (*.txt), or directory name.
 *                        If array, must be an array of file names, glob patterns, or directories.
 */
function rm($fileglob)
{
   if (
is_string($fileglob)) {
       if (
is_file($fileglob)) {
           return 
unlink($fileglob);
       } else if (
is_dir($fileglob)) {
14.           $ok rm("$fileglob/*");
           if (! 
$ok) {
               return 
false;
           }
           return 
rmdir($fileglob);
       } else {
           
$matching glob($fileglob);
           if (
$matching === false) {
               
trigger_error(sprintf('No files match supplied glob %s'$fileglob), E_USER_WARNING);
               return 
false;
           }     
           
$rcs array_map('rm'$matching);
           if (
in_array(false$rcs)) {
               return 
false;
           }
       }     
   } else if (
is_array($fileglob)) {
       
$rcs array_map('rm'$fileglob);
       if (
in_array(false$rcs)) {
           return 
false;
       }
   } else {
       
trigger_error('Param #1 must be filename or glob pattern, or array of filenames or glob patterns'E_USER_ERROR);
       return 
false;
   }

   return 
true;
}
?>

cre'că, nu ştiu...