java.io.FileNotFoundException (Berechtigung verweigert) trotz chmod 777
Ich habe beim Schreiben der Grails-Anwendung, die auf Tomcat bereitgestellt wurde, auf merkwürdige Probleme gestoßen.
Nach dem Erstellen eines einfachen Testcontrollers möchte ich Testinhalte in das Paket com schreiben
package com.domain.controller
import java.io.File;
import java.io.PrintWriter;
class TestController {
def index() {
// test
try {
PrintWriter writer = new PrintWriter("/home/user/domains/domain.com/public_html/the-file-name.txt");
writer.println("The first line");
writer.println("The second line");
writer.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
Ich bekomme eine Ausnahme:
Klasse java.io.FileNotFoundException Message /home/user/domains/domain.com/public_html/the-file-name.txt (schreibgeschützt)
Ich habe den chmod auf 777 eingestellt/home/user/domains/domain.com/public_html/
. Undtomcat7.tomcat7
Ist Besitzer. Ich habe auch versucht, diese Datei mit den Zugriffsrechten 777 und dem Besitz von tomcat7 zu erstellen, aber es tritt immer noch eine Ausnahme auf:
ls -al /home/user/domains/domain.com/public_html
razem 16
drwxrwxrwx 3 tomcat7 tomcat7 4096 01-08 23:25 .
drwxr-xr-x 8 user user 4096 12-16 17:14 ..
-rwxrwxrwx 1 tomcat7 tomcat7 0 01-08 23:25 the-file-name.txt
Welche Bedingungen im Betriebssystem sollte ich auch erfüllen?
Ich wäre sehr dankbar, wenn jemand das Problem klären könnte.
BEARBEITEN:
Ich habe das Verzeichnis unter erstellt/path1
, setze 777. Die Dateien sind perfekt gespeichert. Ich habe auch das Verzeichnis unter unter kisten/path2/testdir
, aber path2 hat keine Erlaubnis 777 und chown. Es funktioniert auch. Ich habe auch das getestettestdir
mit Zeichen.
und_
funktioniert auch.
Ich bin sehr recherchierend und kann das Verhalten nicht verstehen.