使用不同的用戶給Tomcat重啟可能會造成tomcat下的所屬文件權限問題,導致系統頁面不能訪問。
參照下文。
http://chenyoca.CUOxin.com/blog/1204103
通常情況下我們要配置Tomcat是很容易的一件事情,但是如果您要架設多用戶多服務的java虛擬主機就不那么容易了。其中最大的一個問題就是Tomcat執行權限。普通方式配置的Tomcat是以root超級管理員的身份運行的,顯然,這是非常危險的,可想而知,一但網站被掛馬,您的整個服務器都可以被黑客控制了。而通過編譯或在線(例如RedHat系列的yum, debian系列的apt-get)的方式安裝,一個服務器上又只能裝一個tomcat的服務,如果將多個網站放到同一個tomcat服務中,一但某一個網站出問題導致tomcat服務被卡死,則服務器上所有的網站都打不開了,無法滿足各網站程序獨享tomcat的需求。為了解決這些問題,我們需要配置Tomcat以指定的身份運行,且一臺服務器上可以安裝任意多個tomcat服務。
如果我的網站被入侵,而啟動Tomcat的就是我,哪怕是阿威,那就危險啦!除了執行sudo需要輸入密碼,基本上我所在用戶組的數據就全部危險了!所以,我要限制Tomcat的權限。可是,我要怎么設置,才能讓我啟動Tomcat,但Tomcat只能在固定目錄里讀寫執行呢?在偉大的腦袋思考,加上以前了解的權限管理,我果斷得出以下方法:1、把Tomcat包含子目錄,屬主和組全部設置root。# chown root -R /usr/local/tomcat # chgrp root -R /usr/local/tomcat2、把works目錄及其子目錄設置為www組,組屬性rwx。# chgrp www -R /usr/local/tomcat/works # chmod g+rws -R /usr/local/tomcat/works3、把logs目錄及其子目錄設置為www組,組屬性rw-。 # chgrp www -R /usr/local/tomcat/logs # chmod g+rws -R /usr/local/tomcat/logs4、啟動Tomcat的管理員加入www組,這樣Tomcat啟動后,可以向logs目錄寫入日志,works目錄生成緩存。5、所有WebApp全部目錄設置不可寫,某些需要上傳圖片的目錄,把寫操作打開,并關閉執行操作。# chown root -R /var/www-data/* # chgrp www -R /var/www-data/* # chmod a-x -R /var/www-data/WebApp/WritenDir/*OK,模擬一下入侵操作:某蛋疼君發現了網站存在漏洞,通過利用漏洞,把WebShell寫到上傳圖片的目錄中。他成功上傳了,因為圖片目錄可寫。然后,他打開上傳的文件,因為目錄內的文件不可執行,只能讀取,所以服務器會報404錯誤。http://www.linuxidc.com/Linux/2014-11/109328.htm
http://www.CUOXin.com/avril/archive/2010/03/23/1692809.html
新聞熱點
疑難解答