文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>如何设定执行Java程序的Linux安全环境-2

如何设定执行Java程序的Linux安全环境-2

时间:2008-05-25  来源:sdccf

    
 
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
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载