linux环境下 Java生成文件并赋予权限的问题

linux环境下 Java生成文件并赋予权限的问题,第1张

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(启动)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8689734.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存