gpt4 book ai didi

java - 我的 Tomcat 应用程序可以在 Ubuntu 服务器上写入哪些文件夹

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:13:57 29 4
gpt4 key购买 nike

我不确定在这种情况下我使用的是 Ubuntu Server 这一事实是否重要。当我尝试使用 File.mkdirs() 方法创建文件夹时,它不会抛出异常,只是无法正常工作。

可以在此处找到关于我的问题的详细解释以及特定代码引用:Cannot Create Directory On Server. Permission Issue?

我写一个新问题的原因是因为我想知道我是否因为权限而在服务器上创建目录时遇到问题。

String path = /home/username/foldertocreate;
File file = new File(path);
file.mkdirs();

所以我正在尝试在/home/username 目录中创建一个文件夹。当我在我的开发箱和 Eclipse 内的 tomcat 实例上以开发模式运行时,这工作得很好,但当代码在服务器上运行时失败。这可能是因为在开发箱上用户已登录,因此允许写入/home/username 文件夹?在服务器上,程序运行时用户实际上并未登录...

是否有我可以写入的特定文件夹?

我检查了当前设置为 700 的文件夹的权限。这可能是问题所在吗?将此文件夹设置为 666 或 777 是否安全?即使用户未登录,此文件夹是否可写?

更新:尝试将文件夹权限更改为 755 但没有成功。

最佳答案

如果您使用的是 ubuntu 的打包版本的 tomcat,则它在不同的用户帐户下运行 - 很可能名为“tomcat”。使用 ps aux | 仔细检查grep catalina - 这将在第一列中显示 tomcat 正在运行的用户名。正是这个用户帐户需要能够创建目录/文件。

出于这个原因,您可能不希望打开任意主目录以实现全局可写,而是在某处配置特定目录以供 tomcat 用户访问。设置 755 权限赋予所有者读/写/执行权限,而其他人获得读/执行权限。如果“tomcat”不是所有者,它将无法在这些目录中创建任何内容。但不要落入 chmod 777 的陷阱 - 除非它是为了快速测试。

关于java - 我的 Tomcat 应用程序可以在 Ubuntu 服务器上写入哪些文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16756995/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com