Linux 如何让Java Servlet容器将文件保存为";业主/集团“;除了Tomcat?
我有一个Javaservlet。当它保存文件时,它将它们保存为tomcat:tomcat(在linux环境中)。我实际上需要它将其另存为sportsfan:tomcat as sportsfan是FTP用户,还需要访问权限来创建、修改或覆盖这些文件 我曾想过以sportsfan:tomcat的身份运行tomcat,但我在一个tomcat实例下运行多个应用程序 也许最好的方法是让FTP用户作为tomcat组的一部分登录。这是正确的方法吗Linux 如何让Java Servlet容器将文件保存为";业主/集团“;除了Tomcat?,linux,file,tomcat,permissions,io,Linux,File,Tomcat,Permissions,Io,我有一个Javaservlet。当它保存文件时,它将它们保存为tomcat:tomcat(在linux环境中)。我实际上需要它将其另存为sportsfan:tomcat as sportsfan是FTP用户,还需要访问权限来创建、修改或覆盖这些文件 我曾想过以sportsfan:tomcat的身份运行tomcat,但我在一个tomcat实例下运行多个应用程序 也许最好的方法是让FTP用户作为tomcat组的一部分登录。这是正确的方法吗 >请告知.< /P> < P>将您的 StftFuff<
>请告知.< /P> < P>将您的
sportsfan
组,并将您的sportsfan
用户添加到其中。然后更改上传
目录的组,并将其设置为setgid
:
chgrp sportsfan upload
chmod g+s upload
之后,upload
中的新文件将使用tomcat:sportsfan
owner:group创建。这并不完全是您所要求的,但是Linux不支持更改用户id(setuid目录)。维基百科上有一篇很好的文章。此外,您还必须将tomcat
用户的umask
值设置为000x(例如0002)或类似的值,以便完全访问组
第三种解决方案:设置一个cron作业,每n分钟更改一次权限。我对您关于sportsfan组和用户的解决方案非常感兴趣,但我不太理解。