gpt4 book ai didi

linux - 如何让 Java Servlet 容器将文件保存为 "owner/group"而不是 Tomcat?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:39:59 25 4
gpt4 key购买 nike

我有一个 java servlet。当它保存文件时,它会将它们保存为 tomcat:tomcat(在 linux 环境中)。我实际上需要它来将它保存为 sportsfan:tomcat,因为 sportsfan 是 FTP 用户并且还需要访问权限来创建、修改或覆盖这些文件。

我考虑过将 tomcat 作为 sportsfan:tomcat 运行,但我在一个 tomcat 实例下运行多个应用程序。

也许最好的方法是让 FTP 用户作为 tomcat 组的一部分登录。这是正确的方法吗?

请指教。

最佳答案

将你的 sportsfan 用户 ftp 添加到 tomcat 组可能是一个很好的解决方案,但在此之前检查你的系统中哪些是具有此权限的可修改文件并考虑安全性风险。

另一个解决方案:创建一个sportsfan 组并将您的sportsfan 用户添加到其中。然后更改您的upload目录的组并将其设置为setgid:

chgrp sportsfan upload
chmod g+s upload

之后,upload 中的新文件将使用 tomcat:sportsfan owner:group 创建。这不完全是您要求的,但 Linux 不支持更改用户 ID(setuid 目录)。维基百科有一篇关于 setuid and setgid directories 的非常好的文章.此外,您必须将 tomcat 用户的 umask 值设置为 000x(例如 0002)或类似的值,以提供对组。

第三个解决方案:设置一个 cron 作业,每 n 分钟更改一次权限。

关于linux - 如何让 Java Servlet 容器将文件保存为 "owner/group"而不是 Tomcat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7602085/

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