Domanda

Guida OK a capire questo.

Ho 2 utenti nel mio sistema Linux che sono entrambi parte di "web-users" del gruppo.

Una è www-dati utilizzati dal server web e php-cgi Uno è il mio ftp-user

quando ho caricare i file via ftp sono impostati a 775 per dirs e 664 per i file, quando si esegue uno script sul server (in modo stesso gruppo come l'utente ftp) per eliminare tale directory e file all'interno: unlink per file di Works ok, ma il permesso comando rmdir non funziona ritorno negato !? E sì la directory viene eliminato dopo lo svuotamento.

Perché è che 775 significa che l'utente del gruppo può eliminarlo proprio come 664 per i file.

Grazie!

È stato utile?

Soluzione

Si potrebbe verificare la permissions del parent che contiene la directory si sta cercando di eliminare.

Mi è stato l'eliminazione di alcune directory di script generati all'inizio di questa settimana e anche con i loro permessi impostati su 777, ero ancora ricevendo "Autorizzazione negata" fino a quando mi sono dato Write l'accesso alla directory parent.

Altri suggerimenti

ho incontrato lo stesso problema prima e il mio codice sembrava di seguito:

function recurse_delete_dir($dir) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            if ($file != '.' && $file != '..') {
                 $child_file = $dir . $file;
                 if (is_dir($child_file)) {
                     recurse_delete_dir($child_file);
                 }
                 else {
                     unlink($child_file);
                 }
            }
        }
        rmdir($dir);
    }
}

Io stesso pensato che fosse un'edizione di permesso, ma si è scoperto che ho solo bisogno di chiamata closedir prima rmdir-ing. Quindi:

closedir($dh);
rmdir($dir);

Forse il tuo problema è simile alla mia?

Non è possibile utilizzare rmdir () su una directory che contiene i file. La directory deve essere vuoto prima di utilizzare rmdir () per cancellarlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top