`

Javaweb上传文件到Linux 没有读写权限

 
阅读更多

 

问题:图片成功上传到linux服务器共享盘中,但却在网页中访问不到!

 

访问不到原因

在linux 中挂载盘目录下,查看刚刚上传的图片:确实已经上传成功。然后查看图片的权限。看到对于当前 拥有者 、群组 、其它组 分别是:读写、读、无。显而易见,web应用是nginx容器以其他组的一个用户来运行的,所有没有任何权限。

尝试修改图片权限

chmod 644 1.png

 

此时,通过网站访问 该图片便没有问题。

 

解决方案

但是我们不可能每次生成一个文件再去手动修改,而是应该修改上传文件后的文件默认权限。涉及到项目生成文件的默认权限的有两个地方,一是linux系统默认权限、二是tomcat生成文件默认权限

a)、检查linux

linux文件访问默认权限与umask有关,查看系统默认配置(/etc/profile)是否正常,如果是002或022就正常没有问题。

[umask 002 对应文件权限664,文件夹权限775;
umask 022对应文件权限644,文件夹权限755]

 

b)、检查tomcat

打开bin/catalina.sh文件,检查tomcat对umask的设置。将0027改改为0022,重启tomcat,上传访问的问题解决。

if [ -z "$UMASK" ]; then
    UMASK="0027"
fi
修改为:
if [ -z "$UMASK" ]; then
    UMASK="0022"
fi

 

c)、重启tomcat

问题解决

 

 

 

分享到:
评论

相关推荐

    JavaWeb之Linux与Redis

    ### JavaWeb之Linux与Redis知识点总结 #### 一、Java注解详解 ##### 1.1 基础概念 **注解(Annotation)** 是Java语言中的一个特性,允许程序员给程序元素(如类、方法等)添加元数据。注解本身并不改变程序的行为...

    c语言文件读写操作代码Web-mastekai开发笔记

    在Unix/Linux系统中,可以使用`chmod()`函数更改文件的权限,以控制谁可以读写执行文件。 10. JavaWeb相关: 虽然标题中提到了“Web-mastekai”,但根据提供的信息,这个文件名“Heart-First-JavaWeb-master- (47...

    基于Javaweb垃圾分类管理系统源码

    在本系统中,MySQL用于存储各类垃圾分类信息、用户数据以及系统设置等,通过JDBC接口,JavaWeb应用程序可以方便地对数据库进行读写操作。 3. **垃圾分类知识**: 垃圾分类是根据垃圾的不同性质和处理方式,将其...

    JAVA上百实例源码以及开源项目源代码

    Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...

    java2年工作经验简历_java简历.doc

    4. **数据库管理**:他对MySQL数据库有深入实践,能够编写和优化SQL语句,同时了解MySQL的主从复制和读写分离策略,这有助于提高数据库系统的可用性和扩展性。 5. **中间件与搜索引擎**:高亚林使用过Lucene/Solr...

    Java读取串口数据并可在网页上调用

    - **RXTX库**: 为了解决这个问题,社区开发了RXTX库,它是一个开源的、跨平台的Java串口通信库,支持Java 6及以上版本,兼容Windows、Linux和Mac OS等操作系统。 - **设置串口参数**: 在RXTX库中,可以通过`...

    系统java学习

    - **文件上传**:实现文件上传功能。 - **过滤器和监听器**:掌握Web应用中的过滤器(Filter)和监听器(Listener)的使用。 - **数据库连接池与数据源**:学习连接池的配置及使用。 - **EL、JSTL**:掌握表达式语言...

    JavaEE.doc

    - **文件上传**:实现文件上传功能。 - **过滤器和监听器**:理解Filter和Listener的作用。 - **数据库连接池与数据源**:学会使用连接池技术优化数据库访问性能。 - **EL、JSTL**:掌握表达式语言和标签库的...

    java工程师简历_应聘JAVA开发工程师.doc

    - IO流:熟练掌握文件读写、网络流和对象序列化。 2. **JavaWeb技术**: - JavaScript:基础的前端脚本语言,用于页面交互和动态效果。 - jQuery:简化JavaScript操作DOM、事件处理和动画的库。 - Ajax:实现...

    Java开发工程师简历模板(三十六)

    - 熟练使用MySQL数据库,具备SQL语句优化能力,并了解MySQL的主从复制和读写分离,这有助于提升数据库性能和高可用性。 - 熟悉Lucene/Solr全文检索技术,能够实现高效的搜索功能,还掌握了ActiveMQ消息中间件,可...

Global site tag (gtag.js) - Google Analytics