Java上传文件后没有读取权限

问题描述

上传文件后通过transferTo()将文件存储到目标路径,发现文件的组权限、其他用户权限没有读权限。

[root@localhost ~]# ll
total 19852
-rw------- 1 root root   345073 Oct 12 14:27 31cca6c2-046e-4552-8f24-21af62c44843.pdf
-rw------- 1 root root   915888 Oct 12 14:27 35b2d075-9166-4486-802b-2cc3ac224ebb.pdf
-rw------- 1 root root    49512 Oct 12 15:56 5cdba2be-430e-4cb8-b43a-3a26cad98806.pdf
-rw------- 1 root root  3445289 Oct 12 15:57 81ec618b-2ec7-488d-bb8c-0c037d40782c.pdf

通过Nginx访问时,报403错误。

解决方案

方案一

  1. transferTo()后设置文件权限。
//设置权限
Set<PosixFilePermission> perms = new HashSet<>();
perms.add(PosixFilePermission.OWNER_READ);
perms.add(PosixFilePermission.OWNER_WRITE);
perms.add(PosixFilePermission.GROUP_READ);
perms.add(PosixFilePermission.OTHERS_READ);
Files.setPosixFilePermissions(Paths.get(pathName), perms);

方案二

修改Nginx参数。

user root;

你可能感兴趣的:(Java,java)