【问题标题】:How to allow write access on a directory to java/tomcat in debian buster如何允许对 debian buster 中的 java/tomcat 的目录进行写访问
【发布时间】:2020-01-02 13:23:28
【问题描述】:

我用 tomcat9 包重新安装了 debian buster。

我想在上面部署 GeoWebCache 应用程序(最新 1.15 版本),它需要一个具有读写权限的目录来存储配置文件、生成的缓存......

我创建目录 /opt/gwc_cachedir 并为其设置 777 权限:

# chmod -R 777 /opt/gwc_cachedir

并将我的配置文件(geowebcache.xml)放入目录中,也具有 777 权限。

启动tomcat实例时,日志说/opt/gwc_cachedir目录不可写:

ERROR [storage.DefaultStorageFinder] - Found Java environment variable GEOWEBCACHE_CACHE_DIR set to /opt/gwc_cachedir/ , which is not writeable

这似乎是由于调用了返回 false 的 canWrite 函数:

https://github.com/GeoWebCache/geowebcache/blob/f921c79adc24783cc445cf3ba0349b9bcd2a2421/geowebcache/core/src/main/java/org/geowebcache/storage/DefaultStorageFinder.java#L134

我不明白为什么它返回 false,因为 /opt/gwc_cachedir 有 777 权限。

【问题讨论】:

    标签: java java-11 file-writing tomcat9 debian-buster


    【解决方案1】:

    看来运行tomcat9进程的用户或组不允许写入你的缓存目录。

    检查/etc/systemd/system/tomcat.service 以查看tomcat 进程将作为哪个组和用户运行。

    很可能是

    User=tomcat
    Group=tomcat
    

    ...在这种情况下,只需将缓存目录的所有者更改为tomcat

    sudo chown -R tomcat: /opt/gwc_cachedir/

    或者是 Java 的安全管理器停止访问...解决方案仍在等待中...

    【讨论】:

    • 如我所说,我使用 777 设置权限。我还尝试将目录和他的内容 chown 给 tomcat 用户,但它不会改变任何东西。
    • 您能验证用户对您目录的访问权限吗?致电sudo -u tomcat test -w /opt/gwc_cachedir/; echo $?,看看你是否成功获得零。这显然会检查 tomcat 用户的 WRITE 访问权限
    • 我试过你的命令,它返回0,所以看起来问题出在java或tomcat,而不是系统。
    • 酷,尝试将缓存移动到 java tmp 文件夹,看看它是否可以成为 Java 的安全管理器。如果是这样,您还必须修改 catalina.policy 以将您的文件夹添加到其中并具有写入权限。在这里查看:tomcat.apache.org/tomcat-9.0-doc/security-manager-howto.html
    • 我试图编辑 /usr/lib/jvm/default-java/conf/security/java.policy 添加:权限 java.io.FilePermission "/opt/-", "read,write,删除”;权限 java.lang.RuntimePermission "readFileDescriptor,writeFileDescriptor";权限 java.io.SerializablePermission "enableSubstitution,enableSubclassImplementation";但我仍然有同样的错误。
    猜你喜欢
    • 2014-03-19
    • 2016-08-26
    • 2017-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多