java 处理一些通用的权限
1、在java中,文件的权限对于不同的 *** 作系统有不同的权限。 java 处理一些通用的权限。
2、检查文件是否允许:
file.canExecute()– return true, file is executablefalse is not.
file.canWrite()– return true, file is writablefalse is not.
file.canRead()– return true, file is readablefalse is not.
3、设置文件权限:
file.setExecutable(boolean)– true, allow execute operationsfalse to disallow it.
file.setReadable(boolean)– true, allow read operationsfalse to disallow it.
file.setWritable(boolean)– true, allow write operationsfalse to disallow it.
4、在*nix系统中,你可能需要配置更加明确的文件权限,如设置某个文件的权限为777.但是,java IO类没有相关方法。
Runtime.getRuntime()。exec("chmod 777 file")
java 处理一些通用的权限
1、在java中,文件的权限对于不同的 *** 作系统有不同的权限。 java 处理一些通用的权限。
2、检查文件是否允许:
file.canExecute()– return true, file is executablefalse is not.
file.canWrite()– return true, file is writablefalse is not.
file.canRead()– return true, file is readablefalse is not.
3、设置文件权限:
file.setExecutable(boolean)– true, allow execute operationsfalse to disallow it.
file.setReadable(boolean)– true, allow read operationsfalse to disallow it.
file.setWritable(boolean)– true, allow write operationsfalse to disallow it.
4、在*nix系统中,你可能需要配置更加明确的文件权限,如设置某个文件的权限为777.但是,java IO类没有相关方法。
Runtime.getRuntime()。exec("chmod 777 file")
出现该问题,主要是因为tomcat版本高的原因。我使用tomcat 8.0.24,便没有此问题,当我使用tomcat 8.5.+ 时,就会出现该问题,需要修改我下面书写的配置,才能生效!
一、检查linux
linux文件访问默认权限与umask有关,查看系统默认配置(/etc/profile)是否正常,如果是002或022就正常没有问题。
[umask 002 对应文件权限664,文件夹权限775
umask 022对应文件权限644,文件夹权限755]
二、检查tomcat
打开bin/catalina.sh文件,检查大概在263行左右。
将0027改改为0022,重启tomcat,上传访问的问题解决。
原代码
# Set UMASK unless it has been overriddenif [ -z "$UMASK" ]then
UMASK="0027"fi
改为
# Set UMASK unless it has been overriddenif [ -z "$UMASK" ]then
UMASK="0022"fi
三、重启tomcat
sh shutdown.sh(关闭)
sh startup.sh 或者 ./startup.sh(启动)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)