Linux SSHPHP File creato | SSH Impossibile eliminare (permesso negato)
creo un file in PHP utilizzando
if (!is_dir(DIR_FILE))
mkdir(DIR_FILE, 0777);
$filename = DIR_FILE . $id . '.txt';
$handle_cf = fopen($filename, 'a');
fwrite($handle_cf, $data . "\n");
fclose($handle_cf);
chmod($filename, 0777);
chown($filename, "usr111"); // usr111 = username
chgrp($filename, "usr111"); // usr111 = group that is also attached to apache
Il file ottiene i seguenti autorizzazioni.
-rwxrwxrwx 1 apache apache 1447 Apr 4 12:48 D.txt
-rwxrwxrwx 1 apache apache 1447 Apr 4 12:48 E.txt
tuttavia quando si tenta di eliminare il file, con l'account utente regolare (usr111). Ottengo il seguente errore
[[email protected] session]$ rm D.txt
rm: cannot remove `D.txt': Permission denied
NOTA: Posso eliminare il file sotto la radice.
FIX TROVATO! anche se stavo usando l'impostazione della modalità su mkdir per php. Per qualche ragione questo non funzionava. Ho aggiunto il seguente.
if (!is_dir($dir)) {
mkdir($dir, 0777);
chmod($dir, 0777);
}
quali sono le autorizzazioni sulla directory questo file è in? –
Se accedete con un normale account utente, PHP o piuttosto Apache è il proprietario del file e non sarete in grado di cancellarlo a meno che non abbia le autorizzazioni per farlo. Altrimenti, se hai effettuato l'accesso con root, non dovresti avere problemi. – Francisc
+ MarcB drwxr-xr-x 2 apache apache 4096 apr 4 12:48 session – RichardW11