2017-02-24 587 views
2

catalina.out文件使用「-rw-r -----」權限(即640權限)創建。我想給予「其他人」的閱讀許可,但這並未發生。Tomcat 8更改catalina.out權限,使其可被所有人讀取

嘗試設置umask作爲022在setenv.sh和其他地方,但這並沒有幫助。

還嘗試使用相同的tomcat用戶手動觸摸文件,它們使用「-rw-rw-r--」(即664權限)創建。所以不知道爲什麼tomcat會這樣做。

也不想手動更改使用chmod等的權限,因爲這是一種黑客攻擊,需要在文件刪除的情況下重複。

回答

2

通過添加名爲「UMASK」(全部大寫)的環境變量解決了該問題,如下所示。這個env變量應該在調用catalina.sh之前設置。

export UMASK="0022" 

給予一定的背景下,catalina.sh腳本查找UMASK環境變量(可選)。如果該變量不存在於環境中,則Tomcat使用默認的UMASK 0027,否則它使用umask的覆蓋值。

0

我猜你已經嘗試這些解決方案:

  1. 在.profile文件/ .bash_profile中設置的umask。
  2. 在etc/init.d/tomcat6中設置umask(如果已安裝)。
  3. 驗證umask是否存在並重新啓動進程以檢查文件權限。

嘗試爲所需用戶的日誌目錄給予特殊權限。 請參閱此link以獲取完整配置。

+0

[Dextro67](http://stackoverflow.com/users/3886428/dextro67) - 我已經嘗試了第一個和第三個選項,他們不工作。第二個選項不適用於我的情況,因爲tomcat在我的安裝中不是服務。最後(第4個)選項不相關,因爲我不使用logrotate。 – janeshs

+0

正如我在我的問題中已經提到的,當我手動創建任何文件(使用「touch」命令)作爲「tomcat」用戶時,umask很榮幸。但是,當tomcat(作爲同一個「tomcat」用戶運行)創建日誌文件時,它並不是很榮幸。奇怪!! – janeshs

+0

@janeshs你發現Tomcat進程沒有兌現OS umask值嗎? – Dextro67