Linux下Tomcat怎样进行以非root用户执行特权操作

技术Linux下Tomcat怎样进行以非root用户执行特权操作今天就跟大家聊聊有关Linux下Tomcat怎样进行以非root用户执行特权操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大

今天,我将向您介绍Tomcat如何在Linux下对非根用户执行特权操作。很多人可能不太了解。为了让大家更好的了解,边肖为大家总结了以下内容,希望大家能从这篇文章中有所收获。

以下是Apache开源项目Commons Daemon,中一个名为JSVC的工具。

介绍

官网是这样介绍JSVC的。

Jsvc是一系列应用程序和类库的集合,用于让Java应用程序更容易在UNIX上运行。Jsvc允许应用程序执行一些特权操作,比如root(比如绑定一个小于1024的端口),然后切换回非特权用户。Cygwin模拟器可以用于Win32,然后Windows用户更喜欢使用Procrun将应用程序运行到Windows服务中。

这样,使用Jsvc,我们不再需要以root身份运行Tomcat来使用端口80。接下来,让我们看看如何使用Jsvc。

在CATALINA_HOME/bin目录中,有这样一个文件:commons-daemon-native.tar.gz。通过编译这个文件,我们可以得到Jsvc。按如下方式编译命令:

cd $CATALINA_HOME/bin

塔尔xffz commons-daemon-native.tar.gz

CD commons-daemon-1 . 0 . x-native-src/UNIX。/configure

制造

cp jsvc./.

激光唱片./.

然后,当使用Jsvc执行以下命令时,Tomcat将作为daemon.运行。/bin/jsvc \

-类路径$ CATALINA _ HOME/bin/bootstrap . jar : $ CATALINA _ HOME/bin/Tomcat-juli . jar \

-outfile $ CATALINA _ BASE/logs/CATALINA . out \

-err file $ 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有很多有用的参数可以使用。例如,切换前面提到的非特权用户可以由用户指定。如果要让JVM进程在服务器模式下运行,可以指定- server参数。更多的参数可以通过帮助查看,所有参数的列表将被返回。

在这里,假设您以- user作为根用户启动Tomcat,则需要禁用org . Apache . catalina . security . security listener的检查,否则启动将不会成功。我们前面提到,非根用户可以通过该选项使用特权端口。虽然指定了普通用户,但是也可以使用特权端口。

让我们继续开头的话题。在Linux系统中,我们希望运行Tomcat作为一个服务,它可以在系统启动时自动启动。我们通常在/etc/init.d目录中创建一个启动脚本。如果在创建服务时使用了Jsvc,那么已经为我们考虑了Tomcat。在CATALINA_HOME/bin/目录中,有一个daemon.sh,的脚本可以作为模板。

作为守护进程运行时,需要注意的一个问题是commons-daemon.jar必须位于Tomcat的类路径中,因为在MANIFEST中有这个jar的依赖语句。bootstrap.jar的MF:

Class-Path:公地守护程序. jar

如果在运行时遇到异常,比如ClassNotFoundException,只需将jar包添加到类路径中。也就是说,可以指定jsvc的-cp参数。

看完以上内容,你对Tomcat在Linux下作为非根用户如何执行特权操作有了更好的理解吗?如果您想了解更多知识或相关内容,请关注行业资讯频道,感谢您的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/138401.html

(0)

相关推荐

  • 战国四大名将,战国四大名将分别是哪四位

    技术战国四大名将,战国四大名将分别是哪四位战国时代是中国历史上军力最为鼎盛,名将辈出的时代之一,其中最为耀眼的便是秦之白起战国四大名将、王翦,赵之廉颇、李牧,此四人也后来被评为战国四大名将!1、白起,战国时秦国郿县人,与

    生活 2021年10月23日
  • 怎么写出优质干净的代码

    技术怎么写出优质干净的代码本篇内容主要讲解“怎么写出优质干净的代码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么写出优质干净的代码”吧!写干净代码的好处先来了解编写干净代

    攻略 2021年11月2日
  • class文件都是在java什么上运行(java中的class文件是什么文件)

    技术Java class文件基本结构是怎样的本篇内容主要讲解“Java class文件基本结构是怎样的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java class文件基

    攻略 2021年12月21日
  • 分析Session和Token

    技术分析Session和Token这篇文章主要讲解了“分析Session和Token”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分析Session和Token”吧!01

    攻略 2021年11月5日
  • 青菜炒鸡蛋的做法,菠菜炒鸡蛋的制作方法是什么

    技术青菜炒鸡蛋的做法,菠菜炒鸡蛋的制作方法是什么菠菜炒鸡蛋是一道地道的家常菜。但是要想做得好吃青菜炒鸡蛋的做法,也不是像辣椒炒鸡蛋那样简单混合一炒就好的。菠菜炒鸡蛋的家常做法:1、菠菜摘去黄叶洗净。
    2、坐锅烧水,水开放

    生活 2021年10月27日
  • 怎么让awk使用 Shell 变量

    技术怎么让awk使用 Shell 变量这篇文章给大家分享的是有关怎么让awk使用 Shell 变量的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。有两种可能的方法可以让 awk 使用 shell

    攻略 2021年10月26日