如何设置WebLogic生成的日志文件的权限?

在运维的过程中,有时我们需要以有别于启动WebLogic的用户去访问或收集日志等信息,以及时了解系统运行情况,这就要求日志文件的访问权限是允许其他用户访问的。一般情况下,新生成的文件默认权限是根据操作系统的umask的设置决定的。那如何改变WebLogic运行时产生的日志文件的访问权限呢?

如果通过操作系统的umask命令修改是不会生效的,因为在WebLgoic的启动脚本startWebLogic.sh中有类似这么一条命令“umask 022”,其覆盖了操作系统的设置。

比如startWebLogic.sh中设置了“umask 037”,那么生成的日志文件访问权限如下:

-bash-4.2$ ls -l
total 13164
-rw-r----- 1 oracle oracle     842 Jul 25 04:30 access.log
-rw-r----- 1 oracle oracle 2150626 Jul 27 10:35 AdminServer.log
-rw-r----- 1 oracle oracle  576289 Jul 27 10:35 base_domain.log

我们可以通过修改脚本中umask的值来控制日志等新生成文件的访问权限。

这个在WebLogic 11g上可以正常工作。但是在WebLogic 12.2.1.1.0 和12.2.1.2.0上即使设置了umask也不会生效,这是WebLogic的bug(Bug 24794915),此缺陷在12.2.1.3.0上已经修复。

在这两个版本(12.2.1.1.0 和12.2.1.2.0)上需要安装这个补丁。12.2.1.3.0上已经支持了下面的参数,不需要再安装补丁。

安装补丁后支持了一个参数-Dweblogic.DefaultLogFilePermissionsEnabled,其默认是true。

此参数的含义是当-Dweblogic.DefaultLogFilePermissionsEnabled=true,新生成的文件使用默认的文件访问权限640。如果设置-Dweblogic.DefaultLogFilePermissionsEnabled=false,那么新生成的文件的访问权限受startWebLogic.sh脚本中的umask设置的值控制,采用自定义的设置。

所有在WebLogic12.2.*版本上,需要在启动该参数中加上-Dweblogic.DefaultLogFilePermissionsEnabled=false,然后再修改startWebLogic.sh中的umask值。Java options一般在setDomainEnv.sh中设置。

这个参数控制的是WebLogic新生成的所有的文件,不仅仅是日志文件。

另外如果WebLogic Server是通过NodeManager启动的,需要在startNodeManager.sh脚本中设置。

转载于:https://blog.51cto.com/comer/2154037

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值