iT邦幫忙

0

變更tomcat的執行身份

  • 分享至 

  • xImage

如題
我是使用opensuse + tomcat 5.5 + jdk,目前jsp網頁已經可以正常執行,同時也設定好開機自動啓動tomcat,但是目前tomcat的執行身份是root,因此會有安全上的疑濾,所以想變更tomcat的執行身份,不知道要如何修改,想向各位請教一下,謝謝。

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

10
fillano
iT邦超人 1 級 ‧ 2011-01-14 08:49:25
最佳解答

我看了一下自己centos上面裝的tomcat5,/etc/init.d/tomcat5裡面,function start有一行:

<pre class="c" name="code">$SU - $TOMCAT_USER -c "$TOMCAT_SCRIPT start" >> $TOMCAT_LOG 2>&1

這樣應該就知道要怎樣做了吧?跑這個script的是root,但是會用tomcat這個身份來實際執行tomcat伺服器。

看更多先前的回應...收起先前的回應...
power1 iT邦新手 2 級 ‧ 2011-01-14 21:10:12 檢舉

我修改/etc/init.d/tomcat的script後,重啓/etc/init.d/tomcat後,發現還是無法使用,我用下指令 netstat -plutan | grep 80 結果如下
tcp 0 0 127.0.0.1:8005 :::* LISTEN 5006/java
但是我使用回復剛才修改的地方,再下同樣的指令 netstat -plutan | grep 80
結果如下:
tcp 0 0 :::80 :::* LISTEN 4543/java
tcp 0 0 127.0.0.1:8005 :::* LISTEN 4543/java
tcp 0 0 :::8009 :::* LISTEN 4543/java
請問我是那裡還需要做修改,謝謝。

power1 iT邦新手 2 級 ‧ 2011-01-15 19:21:44 檢舉

已經找到我的問題點了,但是我還有一個問題..
Linux怎麼設定外部80 port 導到內部8080 port

fillano iT邦超人 1 級 ‧ 2011-01-16 23:56:46 檢舉

如果有用apache httpd(port 80),可以用mod_jk把tomcat掛載成apache httpd下面的目錄。

power1 iT邦新手 2 級 ‧ 2011-01-17 11:26:20 檢舉

之前有試著用mod_jk來連結apache但是一直搞不定,所以才直接把tomcat的port改為80來使用。
請問有相關的教學嗎?謝謝。

fillano iT邦超人 1 級 ‧ 2011-01-17 18:11:38 檢舉
  1. 確認一下port 8009有沒有開(ajp 1.3使用的port),沒開的話,修改一下server.xml。(有時候可能會被mark起來)
  2. 我看一下我的伺服器,看起來在apache httpd有專為ajp使用的proxy模組,叫做mod_proxy_ajp,你找一下你的httpd有沒有安裝這個模組,裝好以後調整一下設定看看。設定檔裡面應該有範例。
power1 iT邦新手 2 級 ‧ 2011-01-17 22:04:32 檢舉

1.已碓認server.xml裡的port 8009是有開的
2.因為沒有另外安裝apache,而是使用opensuse內建的apache2所以好像沒有找到你所說的mod_proxy_ajp的模組。

fillano iT邦超人 1 級 ‧ 2011-01-19 00:14:33 檢舉

不然就:

<pre class="c" name="code">sudo /sbin/yast --install apache2-mod_jk

裝好以後,找一下mod_jk的設定檔,改一下應該就可以跑了。

power1 iT邦新手 2 級 ‧ 2011-01-20 11:34:58 檢舉

不好意思,請一次接觸apache2-mod_jk,不太了解要怎麼設定,請問有其它的參考資料嗎?謝謝。

我要發表回答

立即登入回答