Linux SSHPHP Erstellte Datei | SSH kann nicht gelöscht werden (Berechtigung verweigert)
ich eine Datei in php
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
Die Datei erhält die folgenden Berechtigungen.
-rwxrwxrwx 1 apache apache 1447 Apr 4 12:48 D.txt
-rwxrwxrwx 1 apache apache 1447 Apr 4 12:48 E.txt
aber wenn ich versuche, die Datei zu löschen, unter dem regulären Benutzerkonto (usr111). Ich erhalte die folgenden Fehler
[[email protected] session]$ rm D.txt
rm: cannot remove `D.txt': Permission denied
HINWEIS: ich die Datei im Root-Verzeichnis löschen.
FIX GEFUNDEN! obwohl ich die Moduseinstellung auf mkdir für PHP verwendet habe. Aus irgendeinem Grund funktionierte das nicht. Ich habe Folgendes hinzugefügt.
if (!is_dir($dir)) {
mkdir($dir, 0777);
chmod($dir, 0777);
}
was sind die Berechtigungen für das Verzeichnis diese Datei in ist? –
Wenn Sie sich mit einem normalen Benutzerkonto anmelden, ist PHP oder besser Apache der Eigentümer der Datei und Sie können ihn nicht löschen, es sei denn, er hat Berechtigungen für alle Benutzer. Andernfalls, wenn Sie mit root angemeldet sind, sollten Sie keine Probleme haben. – Francisc
+ MarcB drwxr-xr-x 2 Apache Apache 4096 Apr 4 12:48 Sitzung – RichardW11