Java生成文件到Sftp目录中无权限问题

本文主要介绍了在Java应用中遇到生成文件到SFTP目录无权限的问题及解决方案。针对部署在Tomcat和Docker环境的不同情况,提出了修改tomcat配置文件`catalina.sh`以赋予其他用户读取和执行权限的方法,确保SFTP用户能够正常读取生成的文件和目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

java中需要生成文件到指定的sftp目录中,提供给其他的系统或者用户读取文件,但是在程序中生成的文件或者创建的目录到sftp中会显示没有权限去读/写,这是因为tomcat中配置文件导致

解决方案

一、 部署在tomcat中项目:

如果是部署在tomcat中的项目,需要生成文件到sftp目录,但是生成的文件没有权限,比较简单,直接修改tomcat配置文件即可

  1. 修改tomcat/bin/catalina.sh
    vi apache-tomcat-8.5/bin/catalina.sh

  2. 找到UMASK="0027"这一行,修改为UMASK="0022"
    说明:
    - 0027是tomcat默认的权限配置,因为权限是由rwx(读取执行)组成,分别代表的数字为:421, 默认的配置是0027 表示root用户拥有所有权限,当前用户拥有rx权限,其他用户没有权限,因为最后一个数为7,表示421中的一个权限都没有分配给其他用户
    - 0022 表示给其他用户的读和执行的权限,所以这样设置之后,sftp的用户就可以读取生成的文件和文件夹了

  3. 重启tomcat

二、部署在docker中的项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值