解决Tomcat8上传文件无可读权限问题

Ubuntu 12.04手动部署Tomcat 7完整指南 Servlet容器是Java Web应用运行的核心基础设施,其本质是遵循Servlet规范、提供HTTP请求处理与生命周期管理的Java进程环境。理解Tomcat的启动原理、JDK版本兼容性、用户权限隔离及配置文件加载机制,是掌握Java Web基础架构的关键。在老旧系统维护、嵌入式教学或遗留系统迁移等场景中,手动部署(而非apt安装)能精准控制CATALINA_HOME、JAVA_HOME路径和server.xml监听行为,避免因符号链接解析失败、默认端口暴露或服务脚本权限缺陷导致的500/404/连接拒 阅读详情

描述

使用springmvc做了一个文件上传的功能,上传到nginx目录下的一个文件夹,但是通过目录访问的时候却报403的错误
图片.png
去服务器查看了一下文件的权限,发现没有可读权限,于是定位了问题,上传的文件全都没有可读权限。

为什么没有可读权限

网上查阅资料发现,linux默认umask为022,对应权限为755,其它用户可读可执行。可以vim /etc/profile,搜索umusk关键字查看

if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002
else
    umask 022

而tomcat8默认umask为027,对应权限为750,也就是说其它用户连可读的权限都没有。
可打开catalina.sh文件,搜索umask查看。

# Set UMASK unless it has been overridden
if [ -z "$UMASK" ]; then
    UMASK="0027"
fi
umask $UMASK

在catalina.sh文件的开篇可以看到

#   UMASK           (Optional) Override Tomcat's default UMASK of 0027

于是问题有了答案
登录到服务器,进入到tomcat的bin目录下

vim catalina.sh
输入i,进入编辑模式,将umask改为0022
:wq(保存退出)

可以看到
3b0b9d5dc0f2d2115073293aeee4331.png
接下来重启tomcat,重新上传图片即可香油可读权限。

个人博客
腾讯云社区
掘金
优快云
简书
GitHub
码云
OSCHINA
Segmentfault
公众号:wx.jpg

阿里云Linux服务器上如何配置开发环境? Linux服务器上安装 JDK、MySQL、Tomcat、Redis、Nginx 利用 FlashFxp工具 将 JDK MySQL Tomcat Redis 压缩包上传到 Linux 服务器上 相关压缩包百度网盘下载地址:百度网盘 提取码: 29up 利用 putty 工具连接到 远程服务器 一、JDK 安装与配置 1.1、 解压 cd /usr/local/jdk 转到压缩包目录 tar -xvf jdk1.8.tar.gz 解压文件 解压后的文件: 1.2、配置环境变 阅读详情

相关推荐

RHEL 8.6实战:SELinux与AppArmor协同加固Web服务器安全

在Linux安全体系中,强制访问控制(MAC)是构建纵深防御的核心机制,它通过精细化权限管理,从内核层面限制进程行为,有效遏制漏洞利用后的横向移动。其技术价值在于为关键服务提供“最小权限”运行环境,即使应用存在漏洞,攻击者也无法突破预设的安全边界。在Web服务器防护场景中,SELinux基于类型强制的标签化模型,与AppArmor基于路径的配置文件模型,形成了互补的防护策略。本文聚焦于RHEL 8.6生产环境,深入解析如何利用`audit2allow`分析日志生成定制策略,并借助`udica`工具为容器化应

weixin_33910385的博客 492

linux tomcat上传权限设置,Tomcat8.5.51程序上传文件没有读写权限

根本原因:因为tomcat版本太高导致。我当前使用的是tomcat8.5.51,8.0版本没有此问题。1.需要检查linux系统权限linux文件访问默认权限与umask设置有关系,先检查系统默认配置(/etc/profile)是否是002或022。umask 002 对应文件权限664,文件夹权限775;umask 022对应文件权限644,文件夹权限7552.需要检查tomcat检查bin/c...

weixin_39845113的博客 989

AIStarter避坑指南:Wan2.2 Animate整合包从下载到出片的完整流程(附常见错误修复)

本文提供了Wan2.2 Animate整合包从下载部署到生成高清视频的完整避坑指南。详细解析了通过AIStarter启动、环境配置、核心参数调优以及七大常见错误(如CUDA内存不足、节点缺失、视频模糊等)的根因与修复方案,帮助用户高效利用ComfyUI工作流,稳定生成720P高质量AI动画视频。

weixin_29052717的博客 705

关于Tomcat8.5版本文件上传后无访问权限的问题,已解决

问题呈现: 浏览器提示说 :您没有访问/fdld/userfiles/fileupload/201904/1113703420341157890.jpg的权限。 服务器无法读取htaccess文件,拒绝安全访问。 查看了linux下的文件权限, 只有w权限,没有 r:读权限 ,因此需要修改tomcat的配置: 解决方案如下所示: 打开/usr/local/src/apache-to...

ITJAUser的博客 1861

a股level2数据接口的最优委托信息

Level-1提供的数据并不可以知道委托了xxx手是有多少人下的,以及每个人下了多少的明细。通过Level-2的这个详细买卖盘数据,盘口上的单子到底是散户小打小闹,还是主力真刀实枪在干,都一览无余。交易类型:1-市价,2-限价,3-本方优先,10-撤单, 11-暂不清楚( 基金/ 债券有此值)除了提供逐笔成交记录这个信息外,还提供了最优委托信息,也就是盘口中前50笔订单的委托数量明细。那么Level-2盘口委托数据的速度更新是非常快的,大家可以通过。交易方向:0-未知,1-买入,2-卖出。

Qq_2037696191的博客 1168

spdk + fio测试nvme 设备的性能

fio的测试对象可以是块设备、文件等,在spdk的使用过程中会unbind默认的nvme driver,所以在系统中是看不到nvme块设备的,在spdk中可以通过fio_plugin的方式,将spdk的用户态driver部分的io功能打包成一个ioengine提供给fio使用,可以综合spdk的高性能和fio提供的复杂场景。更多DPDK相关学习资料有需要的可以自行报名学习,免费订阅,永久学习,或点击这里加。这个jobfile是spdk中提供的例子。领取,关注我持续更新哦!2.7 jobfile的例子。

lingshengxiyou的博客 1089

关于java上传文件到tomcat后,重新部署项目,文件消失的解决方法

这种情况是由于你上传的文件路径选择在tomcat部署项目的路径下了,虽然上传成功了,但是当你重新部署项目的时候,tomcat下的webapps文件夹下的项目会被重新部署,覆盖掉了之前的项目文件,所以文件就消失了。 解决方法是将文件上传到其它的文件夹下,前提是先在本地新建一个文件夹,然后修改tomcat的server.xml文件,打开server.xml文件,找到里面的标签,添加下面的内容即可: <Context docBase="D:\201710\image" path="/image" reloa

老头学编程的博客 1266

【效率手册】Kylin-Desktop-V10-SP1 麒麟系统核心组件实战——从入门到精通的6个关键场景

本文针对Kylin-Desktop-V10-SP1麒麟系统用户,通过文件管理、系统监视、设置优化等6个核心场景实战,深度解析如何高效运用系统内置工具解决文件混乱、性能卡顿、外设驱动等实际问题,帮助用户从功能认知跃升至场景化应用,真正释放国产操作系统的生产力潜能。

weixin_29208327的博客 119

Tomcat8.5.51程序上传文件没有读写权限

根本原因: 因为tomcat版本太高导致。我当前使用的是tomcat8.5.51,8.0版本没有此问题。 1.需要检查linux系统权限 linux文件访问默认权限与umask设置有关系,先检查系统默认配置(/etc/profile)是否是002或022。 umask 002 对应文件权限664,文件夹权限775; umask 022对应文件权限644,文件夹权限755 2.需要检查tom...

1419

Qwen-Image LoRA训练实战:从数据准备到异常修复的全流程解析

本文详细解析了Qwen-Image LoRA训练的全流程,从数据准备到参数优化再到异常修复。通过实战案例展示了如何利用LoRA技术微调Qwen-Image模型,提升中文场景下的图像生成质量,特别针对手脚生成异常等问题提供了有效解决方案。文章还分享了中文提示词优化技巧和高级训练方法,帮助开发者高效训练出高质量的LoRA模型。

lemon的博客 967

传感器应用案例:压力传感器在工业自动化中的应用_(13).压力传感器的数据采集与处理

数据采集系统(Data Acquisition System, DAS)是连接传感器和控制系统的重要桥梁。它包括硬件(如数据采集卡、信号调理器)和软件(如数据采集软件、数据处理算法)两部分。信号调理:将传感器输出的模拟信号转换为适合AD转换的信号。AD转换:将模拟信号转换为数字信号。数据传输:将数字信号传输到控制系统或上位机。存储:将采集的数据存储在本地或远程数据库中。实时性:保证数据的实时性和准确性。压力传感器的数据采集与处理是工业自动化中不可或缺的一部分。

2401_87715305的博客 1620

java创建文件 权限_JAVA创建文件后权限不足的问题,无法设置权限的问题

JAVA创建文件后权限不足的问题,无法设置权限的问题凯哥java 凯哥java前言:在工作中,项目使用到文件上传,这个功能是很常见的吧。今天,凯哥修改自己的公众号的时候,遇到了一个问题:那就是上传后的文件访问不到,使用浏览器访问不到了。怎么办呢?经过多次查询,发现竟然是因为tomcat的配置原因!正文:最近在Linux系统中通过tomcat部署项目后,由于程序有上传文件功能。而上传后的却无法查看...

weixin_34149824的博客 4863

MIKE水动力笔记17_MIKE文件转shp、统计每个单元格的面积

MIKE的工具箱中自带一个转shp的工具,然后可以拖进ArcGIS中很方便的统计每个单元格的面积和每个网格点的水深。

晏长街的博客 4152

Tomcat 8.5版本文件上传后无权限访问的问题

之前在tomcat 7下文件上传后访问一直没问题,现在tomcat版本升到8.5,在测试文件http上传时,发现所传文件无法通过nginx访问了。 (Tomcat具体版本为8.5.11) PS:tomcat通过root用户来启动。 在确定了nginx自身的没有配置问题之后,上linux服务器查看所传文件,发现其上传目录下代码自动创建的目录权限是750,所上传文件权限是640。 也就是说默认赋予...

进击的Ace 189

核心面试聚焦:业务问题+系统问题+设计题---字节、阿里、美团等整理统计

业务系统及其他相关面试问题整理:线上相关问题排查+高并发系统的限流+高并发秒杀系统设计+负载均衡+一个网站有 20 亿 url 存在一个黑名单中,这个黑名单要怎么存?若此时随便输入一个 url,你如何快速判断该 url 是否在这个黑名单中?并且需在给定内存空间(比如:500M)内快速判断出?

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 172万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

JAVA生成的文件到Linux系统没有公共读权限

图片到服务器只有640(公共读)的权限? 最近在处理一个小程序项目,发现发送出去的图片在服务中是存在,而上传后的却无法查看文件(通过createNewFile创建)。后来发现文件的权限为-rw-r-----,而文件的拥有者是root,这样就只有拥有者有root用户组的拥有读取权限。 后来根据百度上各位大佬的指引总结出: Linux通过umask变量来控制创建文件的默认权限问题。我们知道在Linux系统规定,创建文件的最高权限为666,而创建文件夹的最高权限为777,系统通过变量umask来控制创建文件的权限

qq_40967423的博客 1707

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Docker构建的tomcat工程上传文件,访问报403权限问题

Docker构建的tomcat工程上传文件,访问报403权限问题 最近一个老工程因为要坐Apache Shiro升级(因为漏洞扫描高危了),结果发现shiro的版本升级到1.6以上需要jre8 以上才可以,不得已需要升级一下工程的jdk版本。以下记录一下升级过程中遇到的一些坑。 1.因为工程是通过docker进行镜像打包以及发布的。所以基本构建是基于dockerFile来进行,当时为了省事,tomcat镜像是采用的官方镜像库中的那种,也就是tomcat+jre一体的。 想升级jdk版本,就只能升级tomca

weixin_40349541的博客 787

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上传到Nginx的图片文件如何拥有可读的权限

使用springmvc做了一个文件上传的功能,上传到nginx目录下的一个文件夹,但是通过目录访问的时候却报403的错误去服务器查看了一下文件的权限,发现没有可读权限,于是定位了问题,上传的文件全都没有可读权限。

宝贝企鹅的博客 426

解决linux下tomcat8上传图片other用户无法通过Nginx查看的问题

新版本的tomcat加强了安全性,通过tomcat在服务器端建立的文件,others是没有访问权限的。这样导致Nginx静态图片服务无法访问报 Forbidden You don't have permission to access /file/image/20170417/20170417144110011542.png on this server. 错误。 解决办法是在to

java小学生的博客 1258

OASystem 项目常见问题解决方案

OASystem 是一个基于 SpringMVC 和 MyBatis 框架的 OA 管理系统,主要功能包括流程审批、用户管理、文件上传下载、消息处理等。该项目的主要编程语言是 Java,同时也使用了 JavaScript 和 HTML 进行前端开发。 ## 新手使用注意事项及解决方案 ### 1. 数据库配置问题 **问题描述**:新手在配置数据库时可能会遇到连接失败或配置错误的问题。 *...

gitblog_07315的博客 631

eclipse导出war包,Tomcat项目部署

本次开发用的IDE是eclipse,maven进行项目管理,最终用Tomcat进行部署,过程如下: 一、eclipse导出war包 1、在导出war包之前,得在pom.xml中配置导出格式,一般为jar、war,配置如下: 2、导出war包 右击项目,“Export->Export...->WAR file” ...

zw1_csdn的博客 4476

tomcat常见错误及解决方案

      tomcat常见错误及解决方案   不管是初学者还是有经验的web程序员,使用Tomcat容器的时候会发生包括404,运行启动错误,以及乱码等等的问题,现在我将开发过程中遇到的常见错误和简单解决方法贴出来供大家看看,里面有部分是同事总结,我们共同完成的这篇文章。。。 一,tomcat启动时错误 1:The JAVA_HOME environment variable i...

weixin_33827965的博客 587

单IP多端口部署:Nginx+多Tomcat实例实现Web项目隔离与统一入口

在Web服务部署架构中,资源隔离与统一访问入口是提升系统稳定性和可维护性的核心需求。其基本原理是通过反向代理技术,将用户请求根据规则分发到不同的后端服务实例。这种架构的技术价值在于实现了应用间的环境隔离,避免了配置冲突和资源抢占,同时通过统一的80端口对外提供服务,简化了访问路径并提升了安全性。在应用场景上,它特别适合拥有多个独立Web项目、且对服务器资源成本敏感的中小团队。本文以Nginx反向代理结合多个独立Tomcat实例的实战方案为例,详细解析了如何通过配置不同的端口号,实现项目的清晰隔离与高效管理,

weixin_30411819的博客 458

Java JSP校园商城毕设实战:从MVC架构到数据库设计完整指南

Java Web开发是构建动态网站的核心技术,其基于Servlet和JSP的MVC架构模式,通过分离模型、视图和控制器,实现了业务逻辑与表现层的解耦,提升了代码的可维护性和可扩展性。这一原理在电子商务、内容管理系统等应用场景中价值显著,尤其适合需要快速验证业务逻辑的中小型项目。本文以校园水果鲜花商城这一经典毕设项目为例,深入解析如何运用JSP、Servlet、JDBC及MySQL数据库连接池等关键技术,实现用户认证、商品管理、购物车及订单处理等核心功能。通过结合数据库连接池优化资源管理,并利用JSTL标签库

weixin_34378767的博客 372

Spring Boot路径遍历漏洞防御:原理剖析与三种实战解决方案

路径遍历(Path Traversal)是Web应用开发中常见的安全漏洞,其核心原理在于攻击者通过构造包含`../`等特殊字符的输入,使程序访问到预期目录之外的文件系统。这种漏洞可能导致敏感数据泄露、服务器被控制等严重后果,是开发者在构建安全应用时必须掌握的基础安全知识。在Spring Boot框架中,由于其并未内置全局的路径遍历防御机制,安全责任落在了开发者肩上。理解其原理并实施有效防护,对于保障应用安全具有重要价值。本文聚焦于Spring Boot开发场景,深入剖析了路径遍历漏洞的产生机制与高危场景,并

weixin_33716941的博客 436

Linux其它命令

MySQL安装成功后会有一个临时密码,我们可以使用grep命令查看临时密码先登录进去MySQL,然后修改MySQL密码。上面几种方式比较麻烦,我们可以用数字代替权限,权限也有对应的数字值。chmodu+权限符文件(chmodu+wa.txt)chmodo+权限符文件(chmodo+wa.txt)ps-ef|greptomcat-----查看指定的进程。压缩tar-zcvf压缩后的名称要压缩的目录。首先进入cd/etc/yum.repos.d/目录。......

hzk_niubi1313的博客 104
上一篇: 软件版本命名规范及各阶段说明
下一篇: zipkin
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值