java.io.FileNotFoundException (permissão negada) apesar do chmod 777
Eu enfrentei problemas estranhos ao escrever o aplicativo Grails implantado no Tomcat.
Depois de criar o controlador de teste simples, quero escrever o conteúdo do teste no pacote 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);
}
}
}
Eu recebo uma exceção:
Classe java.io.FileNotFoundException Mensagem /home/user/domains/domain.com/public_html/the-file-name.txt (Status do freio)
Eu configurei o chmod para 777 em/home/user/domains/domain.com/public_html/
. Etomcat7.tomcat7
é dono. Também tentei criar esse arquivo com os direitos de acesso 777 e a propriedade configurados para tomcat7, mas ainda recebo uma exceção:
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
Quais condições no SO também devo atender?
Eu ficaria muito agradecido se alguém pudesse esclarecer o problema.
EDITAR:
Eu criei o diretório em/path1
, defina 777. Os arquivos são armazenados perfeitamente. Eu também criei o diretório em/path2/testdir
, mas o path2 não tem permissão 777 e chown. Também funciona. Eu também tenho testículostestdir
com caracteres.
e_
também funciona.
Sou muito investigativo e não consigo entender o comportamento.