感谢慧眼识珠的有缘人,在万千文章中点开这篇文章    随着现在自动化运维、开发运维、开发安全运维的兴起,还有各种公有云、私有云、混合云的风起云涌,街头巷尾大家都在谈论各种高大上的东西,基础的知识、问题处理没人关心了,谁还搞基础的操作系统、数据库、中间件......那都会被人笑掉大牙,越是在一些信息化建设有较大提升空间的企业,这种思想越是普遍。    于此相反的,国外一些老牌厂商、国内一些创新力较强的IT公司其实一直对于基础知识特别重视(从面试题里就可以看出),今天给大家分享一个WebLogic中间件小问题的解决方法。1、问题描述及起因    某公司电商系统,需要B服务器(Weblogic中间件)的文件在其他服务器可以查询,没有额外设备、额外经费。    不过这点难不倒半仙这种老司机,简单思考了下,综合考虑安全性、可扩充性、灵活性等,采用搭建一个文件服务器,采用NFS共享的方式,各服务器用户挂载共享的目录,分别根据需求设置需要的权限,只允许规定服务器访问,权限设置也是该只读的只读、该读写的读写,很快完成了这部分子环境安装配置。

私有云环境就是这点好,克隆服务器一类飞快,我的世界我做主。

开发部门也是老司机,很快完成了部署,不到半天看上去搞定了,当天进入测试阶段,发现了一个问题。现象:网站提示403错误。

2、问题分析及解决

  • 经过分析,此部分为服务器B上的图片,图片存在但在服务器C、D无法显示,其他共享的文件访问正常。

  • 登录服务器B,查找此文件,发现此文件,权限为本组只读其他不可读写

  • 经与开发人员确认,此文件通过程序后台在B服务器上传的图片,再次测试上传新图片,确认是新上传图片权限问题。

  • 缩小了范围,按半仙的经验,新创建的文件权限,当然是umask值决定的,修改umask变量即可。

  • 登录服务器B,进入软件运行的专属账号,修改.bash_profile,添加一行

基础知识

在linux系统中,我们创建一个新的文件或者目录的时候,这些新的文件或目录都会有默认的访问权限,umask命令与文件和目录的默认访问权限有关。若用户创建一个文件,则文件的默认访问权限为 -rw-rw-rw- ,创建目录的默认权限 drwxrwxrwx ,而umask值则表明了需要从默认权限中去掉哪些权限来成为最终的默认权限值。

可以看到umask值为0002,其中第一个0与特殊权限有关,可以暂时不用理会,后三位002则与普通权限(rwx)有关,其中002中第一个0与用户(user)权限有关,表示从用户权限减0,也就是权限不变,所以文件的创建者的权限是默认权限(rw),第二个0与组权限(group)有关,表示从组的权限减0,所以群组的权限也保持默认权限(rw),最后一位2则与系统中其他用户(others)的权限有关,由于w=2,所以需要从其他用户默认权限(rw)减去2,也就是去掉写(w)权限,则其他人的权限为rw - w = r,则创建文件的最终默认权限为  -rw-rw-r-- 。同理,目录的默认权限为 drwxrwxrwx ,则d rwx rwx rwx - 002 = (d rwx rwx rwx) - (- --- --- -w-) = d rwx rwx r-x,所以用户创建目录的默认访问权限为 drwxrwxr-x 。

  • 生效后,手动创建文件测试,各服务器均可读写,再次在程序后台上传文件,文件权限和umask修改前一样,仍然没有生效。

  • 半仙想,程序难道没有调用新的环境变量么?直接关掉Weblogic,重新客户端登录服务器,确认环境变量生效,启动Webligic重新测试,问题没有解决。

  • 现在基本确定了,Weblogic使用新的环境变量,可能是Weblogic有自己单独设置的环境变量,查询Weblogic启动脚本,一步步往前递归,果然在最前面的启动脚本里,发现了环境变量设置。

  • 原来启动Weblogic时,软件自己设置了环境变量,当然半仙设置的全局变量不管用了,知道了原因,修改之。

  • 修改后,重新启动Weblogic,在程序后台重新上传文件,权限变了,新上传图片具备了读权限。

问题完美解决,这都归功于对基础知识的掌握和正确的思路,以及开发和运维间默契的配合。

一点小技巧,不能藏私,希望能对大家有所帮助。

背景知识

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。 
WebLogic是美商oracle的主要产品之一,系并购BEA得来。是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第一个成功商业化的J2EE应用服务器, 已推出到12c(12.1.3) 版。而此产品也延伸出WebLogic Portal,WebLogic Integration等企业用的中间件(但当下Oracle主要以Fusion Middleware融合中间件来取代这些WebLogic Server之外的企业包),以及OEPE(Oracle Enterprise Pack for Eclipse)开发工具。

oracle 错误2 启动服务提示找不到指定文件_Weblogic中间件创建文件权限问题解决...相关推荐

  1. 经过路由无法找到计算机,电脑无法启动服务提示系统找不到指定的路径(图)

    原标题:"电脑无法启动服务提示系统找不到指定的路径"相关电脑问题教程分享. - 来源:191路由网. 众所周知,使用电脑的时候需要启动一些服务才能使用相关的功能,但是如果出现无法启 ...

  2. dcom无法在此计算机运行,DCOM遇到错误“无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动”的解决...

    关键字:DCOM 遇到错误"无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动. ",试图以参数""启动服务 helpsvc 以运行服务器: {833E ...

  3. MySQL启动服务提示:某些服务在未由其他服务或程序使用时将自动停止

    1. 找到MySQL的安装路径.(确定是否有data文件夹,没有的话就创建一个:有的话则清空对文件夹中对应的内容.) 2.  打开命令行,进入到该目录下的bin文件夹下.(注意:一定要用管理员的权限) ...

  4. Adobe Premiere Pro CC 2019启动时提示找不到任何具有视频播放功能的模板,请更新视频显示驱动程序并再次启动/PR启动时提示找不到任何具有视频播放功能的模板

    Adobe Premiere Pro CC 2019启动时提示找不到任何具有视频播放功能的模板,请更新视频显示驱动程序并再次启动/PR启动时提示找不到任何具有视频播放功能的模板 一.开头 最近刚开学, ...

  5. 启动服务提示端口已存在的处理方法

    启动服务提示端口已存在的处理方法 找到的解决办法如下: 1.改掉默认的端口 2.就是杀掉占用端口的程序 第一种方法只能解决当前的问题,后续仍会出现类似的问题 第二种更靠谱一些,具体操作如下 使用lso ...

  6. 错误ID:10005,错误信息:DCOM 遇到错误“无法启动服务,原因可能是它被禁用或与它相关联的设备没有启动。 ”,试图以参数“”启动服务 SENS 以运行服务器:...

    Windows2000+SP4环境,系统做过优化,有时候发现系统在无操作的时候磁盘在读盘.于是查询系统日志,有以下信息 1.错误ID:10005,错误信息:DCOM 遇到错误"无法启动服务, ...

  7. Outlook启动时提示“找不到文件Outlook.pst文件”解决办法

    Outlook启动时提示"找不到文件Outlook.pst文件"解决办法: 解决方法: 1.   开始 –> 运行  –> cmd 2.   在DOS下,用CD 切换到 ...

  8. 疑难杂症之——启动eclipse提示找不到Java虚拟机(你没有见过的船新版本)

    疑难杂症之--启动eclipse提示找不到Java虚拟机(你没有见过的船新版本) 直接看解决办法 前两天突然来了兴致想把电脑的文件整理一下,整理时给eclipse挪了个路径,然后它就"坏了& ...

  9. mongodb启动成功连不上_mongoDB启动服务提示已存在连接的问题

    mongoDB启动服务提示已存在连接的问题 1. 在我用 F:\mongodb\binmongod --dbpath f:\mongodb\data --logpath f:\mongodb\logs ...

最新文章

  1. ZendStudio10.6.1如何安装最新的集成svn小工具?
  2. 单价数量和总价的公式_人教版四年级数学上册单价、数量和总价之间的关系微课...
  3. Java如何将指定字符串转化为指定日期格式
  4. 用LVM在VMware中的Linux硬盘扩容
  5. 高等数学复习笔记(二)- 一元函数微分学的概念、计算以及几何应用
  6. 【JavsScript】XMLHttpRequest Level 2 使用指南
  7. 软件测试管理知识总结
  8. DNS 报文结构和个人 DNS 解析代码实现——解决 getaddrinfo() 阻塞问题
  9. 如何搭建免费的网络验证系统
  10. C2-关于VCF文件合并的几种方法
  11. 利用Git命令进行版本控制之常见命令汇总
  12. AI读书笔记:《剑桥五重奏—机器能思考吗?》
  13. rx6600怎么样 rx6600显卡相当于什么n卡
  14. java单元测试异步不进去方法_java单元测试之如何实现异步接口的测试案例
  15. 4年,如何从草根成长成为CTO-(第一篇)
  16. 10以内随机加、减法练习题
  17. FastDFS分布式文件服务器部署与运用
  18. android 横向滚轮控件,Android滚轮控件,基于ListView实现,可以自定义样式。
  19. c语言中的标准IO以及文件IO
  20. Linner和WebStorm前端开发环境搭建

热门文章

  1. MyBatis实体属性与表的字段不对应的解决方案
  2. mysql启动失败的一个解决方法
  3. 解决python发送multipart/form-data请求上传文件的问题
  4. 为SQL Server Express 2012启用远程连接
  5. 如何使git接受自签名证书?
  6. Android Studio中的代码格式快捷方式
  7. Docker映像和容器之间有什么区别?
  8. 如何更改远程Git存储库的URI(URL)?
  9. JSP/Servlet 工作原理
  10. 设置释放COCOS2D-X 的启动流程