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)

相关推荐

  • 绿可以组什么词,绿可以组什么颜色词两个字的词

    技术绿可以组什么词,绿可以组什么颜色词两个字的词豆绿 pea green;bean green   橄榄绿 olive green;olive   茶绿 tea green; plantation   葱绿 onion

    生活 2021年10月21日
  • 如何进行Nginx静态文件服务器搭建及怎么解析autoindex模块

    技术如何进行Nginx静态文件服务器搭建及怎么解析autoindex模块这期内容当中小编将会给大家带来有关如何进行Nginx静态文件服务器搭建及怎么解析autoindex模块,文章内容丰富且以专业的角度为大家分析和叙述,

    攻略 2021年10月29日
  • 猪宝宝小名,我想帮宝宝取个好听的小名

    技术猪宝宝小名,我想帮宝宝取个好听的小名姓名,记录着宗族血统的烙印,凝聚着父母对孩子的深情厚义,隐喻着不同的理想追求和目标;姓名,传承了人的情、意、志;姓名,蕴含了人的精、气、神猪宝宝小名。人的姓名不只是一个人体符号,而

    生活 2021年10月30日
  • mysqlhotcopy备份报错该怎么解决

    技术mysqlhotcopy备份报错该怎么解决mysqlhotcopy备份报错该怎么解决,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。问题:

    攻略 2021年12月4日
  • 如何理解java方法的返回值

    技术如何理解java方法的返回值这篇文章主要介绍“如何理解java方法的返回值”,在日常操作中,相信很多人在如何理解java方法的返回值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理

    攻略 2021年10月20日
  • XMLHttpRequest中fetch_ajax请求的新写法是什么

    技术XMLHttpRequest中fetch_ajax请求的新写法是什么这篇文章主要讲解了“XMLHttpRequest中fetch_ajax请求的新写法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小

    攻略 2021年11月5日