大家好,
最近我在服务器上遇到了权限问题。我用java。为了保存文件,我使用file.io,我的参数“files”作为multipartfile到达方法中。我把代码放在下面(精简),但我认为这不是最重要的。
public void saveImageOnServer(MultipartFile files,) throws Exception {
String dirPath = "/var/arquivos/empresa/";
String fileName = cleanPath(files.getOriginalFilename());
String filePath = dirPath + fileName;
File dest = new File(filePath);
files.transferTo(dest);
}
tomcat7是我的war(我用来运行代码的java文件)的所有者,也是我的文件夹的所有者:
root@compServer:/var/lib/tomcat7/webapps# ls -la -d ROOT
drwxr-xr-x 10 tomcat7 tomcat7 4096 Dec 18 15:59 ROOT
root@compServer:/var# ls -la -d arquivos/
drwsrwsrwx 4 tomcat7 tomcat7 4096 Dec 18 16:44 arquivos/
当我将文件夹权限设置为除777之外的任何其他权限时,问题就开始了,并且它没有保存。这个服务器是我们用来托管网站的,但我不太了解权限,所以我不敢把一个允许黑客在服务器上执行脚本之类的权限。我试图将权限设置为666,但仍然没有保存它。我不知道我怎样才能继续,主要是我怎样才能不继续。
我让下面的第一个文件夹时,它不保存,第二个相同的,当它保存。
root@compServer:/var# chmod 666 arquivos/
root@compServer:/var# ls -la -d arquivos/
drwSrwSrw- 4 tomcat7 tomcat7 4096 Dec 18 16:44 arquivos/
root@compServer:/var# chmod 777 arquivos/
root@compServer:/var# ls -la -d arquivos/
drwsrwsrwx 4 tomcat7 tomcat7 4096 Dec 18 16:44 arquivos/
我的问题是,在不暴露服务器的情况下,我可以使用哪个权限,如果我使用700,那将是一个麻烦。
编辑1:700权限也适用于保存文件:
root@compServer:/var# chmod 700 arquivos/
root@compServer:/var# ls -la -d arquivos/
drws--S--- 4 tomcat7 tomcat7 4096 Dec 18 16:44 arquivos/
暂无答案!
目前还没有任何答案,快来回答吧!