中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux下Tomcat怎樣進行以非root用戶執行特權操作

發布時間:2021-12-08 18:10:41 來源:億速云 閱讀:250 作者:柒染 欄目:大數據

今天就跟大家聊聊有關Linux下Tomcat怎樣進行以非root用戶執行特權操作,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

下面使用的是一個Apache的開源項目:Commons Daemon 中的一個名為JSVC的工具。

介紹

官網這樣介紹JSVC

Jsvc是一系列應用和類庫的集合,用于Java應用更輕松的運行在UNIX上。Jsvc允許應用像root一樣執行一些特權操作(例如綁定一個小于1024的端口),然后切換回一個非特權用戶。對于Win32的可以使用Cygwin模擬器,然后Windows用戶更推薦使用Procrun把應用運行成一個Windows 服務。

這樣,有了Jsvc之后,我們為了使用80端口就不再需要使用root身份運行Tomcat了。接下來看怎樣使用Jsvc。

在CATALINA_HOME/bin目錄內,包含這樣一個文件:commons-daemon-native.tar.gz,通過編譯這個文件,我們可以得到Jsvc。編譯命令如下:

cd $CATALINA_HOME/bin

tar xvfz commons-daemon-native.tar.gz

cd commons-daemon-1.0.x-native-src/unix

./configure

make

cp jsvc ../..

cd ../..


然后使用Jsvc執行如下命令時,Tomcat會以daemon的形式運行

./bin/jsvc \

    -classpath $CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/tomcat-juli.jar \

    -outfile $CATALINA_BASE/logs/catalina.out \

    -errfile $CATALINA_BASE/logs/catalina.err \

    -Dcatalina.home=$CATALINA_HOME \

    -Dcatalina.base=$CATALINA_BASE \

    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \

    -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties \

    org.apache.catalina.startup.Bootstrap


當然Jsvc還有很多有用的參數可以使用,比如前面提到的切換一個非特權用戶,可以通過--user來指定,如果要使JVM進程以Server模式運行,可以指定--server參數。更多的參數可以通過--help來查看,會返回全部參數列表。

此處多說一句,如果在使用--user指定為root用戶啟動Tomcat,需要把org.apache.catalina.security.SecurityListener檢查禁用,否則會導致啟動不成功。我們前面提到的非root用戶可以使用特權端口就是通過這個選項來實現的。雖然指定普通用戶,一樣可以使用特權端口。

再來接上開頭的話題,在Linux系統中,我們要把Tomcat做為一個服務運行,在系統啟動的時候可以自動啟動,我們一般都會在/etc/init.d目錄中創建一個啟動腳本。如果在創建服務時使用Jsvc,腳本的寫法Tomcat已經為我們考慮到了。在CATALINA_HOME/bin/目錄下,有一個daemon.sh的腳本,可以做為模板來用。

以daemon的形式運行時,需要注意的一個問題是,commons-daemon.jar必須位于Tomcat的classpath內,因為在bootstrap.jar的MANIFEST.MF中有對于該jar的依賴聲明:

Class-Path: commons-daemon.jar

如果在運行時遇到ClassNotFoundException之類的異常,把該jar包添加到類路徑即可。即jsvc的-cp參數可以指定。

看完上述內容,你們對Linux下Tomcat怎樣進行以非root用戶執行特權操作有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

合水县| 全州县| 黄骅市| 岑巩县| 吴堡县| 仁布县| 台山市| 湖南省| 苏尼特右旗| 三都| 九江市| 乌拉特中旗| 保亭| 揭西县| 张北县| 陆丰市| 河北区| 砀山县| 祥云县| 长阳| 盘锦市| 原阳县| 乡城县| 科尔| 平罗县| 伊吾县| 绥德县| 太白县| 绥江县| 平武县| 临沭县| 平邑县| 铁岭市| 岗巴县| 来安县| 左云县| 陇川县| 望江县| 疏附县| 临沂市| 怀柔区|