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)

相关推荐

  • PostgreSQL数据库如何实现客户端验证

    技术PostgreSQL数据库如何实现客户端验证这篇文章将为大家详细讲解有关PostgreSQL数据库如何实现客户端验证,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。身份验证是数据库服

    攻略 2021年11月25日
  • 神舟笔记本,神舟的笔记本电脑 怎么样

    技术神舟笔记本,神舟的笔记本电脑 怎么样与其他品牌相比较,性价比是很高的,只不过在某些方面有些欠缺,不过在近期上市的产品在逐渐完善神舟笔记本。 目前神舟主打笔记本品牌有神舟优雅以及神舟精盾系列笔记本,对于神舟笔记本的评价

    生活 2021年10月27日
  • selenium的异常:ElementClickInterceptedException

    技术selenium的异常:ElementClickInterceptedException selenium的异常:ElementClickInterceptedException报错信息如下:大致意

    礼包 2021年11月30日
  • 香港KVM云服务器有哪些优势

    技术香港KVM云服务器有哪些优势使用云服务器的用户经常会对云服务商的提供的参数有一些不了解的地方例如服务器采用的虚拟化技术比较少见的点,一般来说相比价格更便宜的openvz技术,基于KVM的云服务器显然价格更高,那么这些

    礼包 2021年12月8日
  • WEB应用是怎么被部署的

    技术WEB应用是怎么被部署的WEB应用是怎么被部署的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一个WEB应用,无论是解压后的目录,还是一

    攻略 2021年11月18日
  • UML包图中包引入和包合并怎么用

    技术UML包图中包引入和包合并怎么用这篇文章主要介绍了UML包图中包引入和包合并怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。UML包图中的包引入和

    攻略 2021年12月4日