java.io.FileNotFoundException (permiso denegado) a pesar de chmod 777
Me he enfrentado a un problema extraño al escribir la aplicación Grails desplegada en Tomcat.
Después de crear un controlador de prueba simple, quiero escribir el contenido de la prueba en el paquete com
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);
}
}
}
Me sale una excepción:
Clase java.io.FileNotFoundException Mensaje /home/user/domains/domain.com/public_html/the-file-name.txt (Brak dostępu)
He puesto el chmod en 777 en/home/user/domains/domain.com/public_html/
. Ytomcat7.tomcat7
es dueño. También he intentado crear este archivo con los derechos de acceso 777 y la propiedad establecida en tomcat7, pero todavía tengo una excepción:
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
¿Qué condiciones en el sistema operativo debería cumplir también?
Estaría muy agradecido si alguien pudiera aclarar el problema.
EDITAR:
He creado el directorio bajo/path1
, set 777. Los archivos se almacenan perfectamente. También he creado el directorio debajo de/path2/testdir
, pero path2 no tiene permiso 777 y chown. También funciona. Tambien tengo los testestestdir
con personajes.
y_
, tambien funciona.
Soy muy investigativo y no puedo entender el comportamiento.