尝试在远程服务器上安装mv时java权限被拒绝
我制作了一个Java应用程序(在linux上运行),它在/tmp/
中生成一个文件,然后将其移动到一个远程磁盘(由Windows/Samba处理),该磁盘安装在/mnt/path/to/dir
中
它在我的本地机器上工作,但在pre-prod
环境中不工作。引发此众所周知的异常:
java.nio.file.FileSystemException: /mnt/[...]: Permission denied
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:91) ~[na:1.8.0_45]
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[na:1.8.0_45]
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ~[na:1.8.0_45]
at sun.nio.fs.UnixCopyFile.copyFile(UnixCopyFile.java:283) ~[na:1.8.0_45]
at sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:471) ~[na:1.8.0_45]
显然,我检查了目录所有者,检查了目标目录是否存在等等
我还尝试以在远程机器上启动应用程序并手动执行mv
命令的用户身份登录:mv /path/to/source /mnt/path/to/destination
mv: listing attributes of « /path/to/source »: I/O error.
(但文件实际上已移动)
什么会导致这种Permission denied
注意:我会通过用“复制+删除”替换“移动”来解决这个问题,但我仍然想知道移动失败的原因
共 (0) 个答案