Question

OK aide-moi à comprendre.

J'ai 2 utilisateurs dans mon système Linux qui font tous deux partie du groupe « web-utilisateurs ».

est une www-données utilisées par le serveur Web et php-cgi est mon ftp utilisateur

quand je télécharge des fichiers via ftp, ils sont mis à 775 pour dirs et 664 pour les fichiers, quand je lance un script sur le serveur (donc même groupe comme l'utilisateur ftp) pour supprimer ce répertoire et fichiers à l'intérieur: unlink pour les fichiers œuvres ok, mais l'autorisation de travail commande rmdir ne marche pas de retour refusé !? Et oui, le répertoire est supprimé après est vidé.

pourquoi est-ce que 775 signifie que l'utilisateur du groupe peut supprimer tout comme 664 pour les fichiers.

Merci!

Était-ce utile?

La solution

Vous pouvez vérifier la permissions du parent qui contient le répertoire que vous essayez de supprimer.

Je supprimait certains répertoires générés par un script plus tôt cette semaine et même avec leurs autorisations mis à 777, je continuais « permission denied » jusqu'à ce que je me suis donné Write accès au répertoire parent.

Autres conseils

Je rencontre le même problème avant et mon code ressemblait ci-dessous:

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);
    }
}

Je me suis dit qu'il était question d'autorisation, mais il est apparu que je devais juste appel closedir avant rmdir-ing. Donc:

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

Peut-être que votre problème est semblable à la mienne?

Vous ne pouvez pas utiliser rmdir () sur un répertoire qui contient des fichiers. Le répertoire doit être vide avant d'utiliser rmdir () pour le supprimer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top