如何设置WebLogic生成的日志文件的权限?
在運(yùn)維的過程中,有時我們需要以有別于啟動WebLogic的用戶去訪問或收集日志等信息,以及時了解系統(tǒng)運(yùn)行情況,這就要求日志文件的訪問權(quán)限是允許其他用戶訪問的。一般情況下,新生成的文件默認(rèn)權(quán)限是根據(jù)操作系統(tǒng)的umask的設(shè)置決定的。那如何改變WebLogic運(yùn)行時產(chǎn)生的日志文件的訪問權(quán)限呢?
如果通過操作系統(tǒng)的umask命令修改是不會生效的,因?yàn)樵赪ebLgoic的啟動腳本startWebLogic.sh中有類似這么一條命令“umask 022”,其覆蓋了操作系統(tǒng)的設(shè)置。
比如startWebLogic.sh中設(shè)置了“umask 037”,那么生成的日志文件訪問權(quán)限如下:
-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的值來控制日志等新生成文件的訪問權(quán)限。
這個在WebLogic 11g上可以正常工作。但是在WebLogic 12.2.1.1.0 和12.2.1.2.0上即使設(shè)置了umask也不會生效,這是WebLogic的bug(Bug 24794915),此缺陷在12.2.1.3.0上已經(jīng)修復(fù)。
在這兩個版本(12.2.1.1.0 和12.2.1.2.0)上需要安裝這個補(bǔ)丁。12.2.1.3.0上已經(jīng)支持了下面的參數(shù),不需要再安裝補(bǔ)丁。
安裝補(bǔ)丁后支持了一個參數(shù)-Dweblogic.DefaultLogFilePermissionsEnabled,其默認(rèn)是true。
此參數(shù)的含義是當(dāng)-Dweblogic.DefaultLogFilePermissionsEnabled=true,新生成的文件使用默認(rèn)的文件訪問權(quán)限640。如果設(shè)置-Dweblogic.DefaultLogFilePermissionsEnabled=false,那么新生成的文件的訪問權(quán)限受startWebLogic.sh腳本中的umask設(shè)置的值控制,采用自定義的設(shè)置。
所有在WebLogic12.2.*版本上,需要在啟動該參數(shù)中加上-Dweblogic.DefaultLogFilePermissionsEnabled=false,然后再修改startWebLogic.sh中的umask值。Java options一般在setDomainEnv.sh中設(shè)置。
這個參數(shù)控制的是WebLogic新生成的所有的文件,不僅僅是日志文件。
另外如果WebLogic Server是通過NodeManager啟動的,需要在startNodeManager.sh腳本中設(shè)置。
轉(zhuǎn)載于:https://blog.51cto.com/comer/2154037
總結(jié)
以上是生活随笔為你收集整理的如何设置WebLogic生成的日志文件的权限?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。