您的位置:首页 > 运维架构 > Linux

如何设定实施Java程序的Linux平安情况-2

2011-03-07 18:25 288 查看
iptables 料理方案

xinetd 是处置惩罚哀求从新导向的一种好方式,但它实施了一个处置惩罚序以在衔接端口之间实践转信数据,这确实增添了一些开支。最新的 Linux 内核版本透过运用 iptables 来支持一种更好的设定从新导向的方式。iptables 与 xinetd 的区别之处在于它是一个真正的内核组件。因此,它可以防止 xinetd 方式增添的开支。运用 iptables 的独一缺点是它可以年夜概比 xinetd 更难以组态,而且它只可用于相称新的内核版本。

您需求实施支持 iptables 的 2.4.x 或更新的内核,以便运用我在这里刻画的技艺。组态和设定 iptables 是一个确信由几篇文章来单独刻画的主题,以是我不筹算在这里查验考试计议该主题。假如对 iptables 的入门需求匡助,请阅读 Linux 分发版的手册。要快速搜检 iptables 能否在您的系统上实施,查验考试以 root 运用者身份实施︰

/sbin/service iptables status

假如它正在实施,您将会在节制台上看到表和链的清单。

iptables 运用几个不合的表和封包链来处置惩罚规矩的。为了将进入 HTTP 哀求从衔接端口 80 从新导向到系统中的另一个衔接埠,您将要运用 nat 表(显露搜集所在转换,Network Address Translation)和 PREROUTING 链。清单 2 提供了要实施的实践指令(以 root 运用者身份),以便于参预一条处置惩罚这一哀求的规矩。这条规矩的劝化是将进入包的方针衔接端口 80 编削成方针衔接端口 8080,因此祇有在您没有胁制从内部运用衔接埠 8080 时,这条端刚才会准确任务。一旦实施了该指令,您就应该可以年夜概连忙处置惩罚进入哀求。

清单 2. iptables 从新导向规矩

/sbin/iptables -t nat \

-A PREROUTING -j REDIRECT -p tcp \

——destination-port 80:80 ——to-ports 8080

/sbin/service iptables save

以便于贮存如今 iptables 组态。

自动启动 Tomcat

当实施诸如 Tomcat 之种此外 Java 效劳时的另一个成绩是当系统启动时,如何自动启动该运用程序,以及当系统关机时如何自动中止它(换句话说,将它看成保卫程序实施)。经验丰厚的 Linux 运用者已经晓得如何做,但假如您照旧个 Linux 熟手在行,以下便是一些基础知识。

假如您就在您的团体系统上实施它而且想要运用与间接实施 Tomcat 一样的对 Tomcat 的文件和目次的存取权,那么您可以用您本人的运用者称呼来设定它。然则,平常,一个比赛好的想法主意是︰为将要作为保卫程序实施的任何程序设定一个单独的运用者。要针对 Tomcat 实施这一功课,以 root 运用者身份实施︰

/usr/sbin/useradd tomcat

这将建立一个名为 tomcat 的运用者账户并建立一个用于 Tomcat 安装的主目次 /home/tomcat.所建立的主目次的通盘者是 tomcat 运用者,而且平常只应许这个运用者存取(虽然还有 root 运用者)。假如想要从别的账户存取 Tomcat 安装,可以将应许权更动成包含组存取权,并将 tomcat 组新增到这些别的账户。

总之,要将 Tomcat 看成保卫程序实施,需求将效劳组态文件新增到 /etc/init.d 目次中,而您可以年夜概要将该文件命名为「tomcat」。清单 3 提供了该文件的样本。这假定了 Tomcat 安装在 /home/tomcat 下,而且该地位中有两个 shell 指令码文件,用于处置惩罚启动和中止效劳器(tcstart.sh 和 tcstop.sh)。在实施实践的 Tomcat 启动或中止指令码之前,需求运用这些文件来设定 Tomcat 所需的情况变量(包含 JAVA_HOME 和 JDK_HOME)。

清单 3. Tomcat 效劳界说

#!/bin/bash

#

# tomcat Starts Tomcat Java server.

#

#

# chkconfig: 345 88 12

# description: Tomcat is the server for Java servlet applications.

### BEGIN INIT INFO

# Provides: $tomcat

### END INIT INFO

# Source function library.

。 /etc/init.d/functions

[ -f /home/tomcat/tcstart.sh ] || exit 0

[ -f /home/tomcat/tcstop.sh ] || exit 0

RETVAL=0

umask 077

start() {

echo -n ___FCKpd___2quot;Starting Tomcat Java server: "

daemon su -c /home/tomcat/tcstart.sh tomcat

echo

return $RETVAL

}

stop() {

echo -n ___FCKpd___2quot;Shutting down Tomcat Java server: "

daemon su -c /home/tomcat/tcstop.sh tomcat

echo

return $RETVAL

}

restart() {

stop

start

}

case "$1" in

start)

start

;;

stop)

stop

;;

restart|reload)

restart

;;

*)

echo ___FCKpd___2quot;Usage: $0 {start|stop|restart}"

exit 1

esac

exit $?

来自: 新客网(www.xker.com) 详文参考:http://www.xker.com/page/e2007/0719/27918_2.html

版权声明:
原创作品,应许转载,转载时请务必以超链接体式名目标明文章 原始出处 、作者信息和本声明。否则将深究法律责任。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: