我在编写部署在Tomcat上的Grails应用程序时遇到了奇怪的问题。
在创建简单的测试控制器之后,我想在
包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);
                }
        }
}

我有个例外:
类java.io.FileNotFoundException消息
/主页/user/domains/domain.com/public_html/the-file-name.txt(Brak
剂量(pu)
我已将chmod设置为777。/home/user/domains/domain.com/public_html/是所有者。我还试图创建此文件,将访问权限777和所有权设置为tomcat7,但仍有一个异常:
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

我还应该满足操作系统中的哪些条件?
如果有人能澄清这个问题,我将不胜感激。
编辑:
我已经在tomcat7.tomcat7集合777下创建了目录。这些文件保存得很好。
我也在/path1下创建了目录,但是path2没有777和chown权限。它也能工作。我还测试了字符/path2/testdirtestdir.,同样有效。
我很善于调查,不能理解这种行为。

最佳答案

确保您也具有对所有父目录的读取和执行访问权限。
例子:
chmod o+x /home/user

10-08 06:47