Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何让Java Servlet容器将文件保存为";业主/集团“;除了Tomcat?_Linux_File_Tomcat_Permissions_Io - Fatal编程技术网

Linux 如何让Java Servlet容器将文件保存为";业主/集团“;除了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<

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

我曾想过以sportsfan:tomcat的身份运行tomcat,但我在一个tomcat实例下运行多个应用程序

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


>请告知.< /P> < P>将您的 StftFuff< /Comp>用户FTP添加到 Tomcat < /Comp>组可以是一个很好的解决方案,但在此之前检查这是您的系统中具有此权限的可修改文件,并考虑安全风险。

另一个解决方案是:创建一个
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组和用户的解决方案非常感兴趣,但我不太理解。