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月27日
  • n代表零线还是火线,火线和零线哪个是L哪个是N

    技术n代表零线还是火线,火线和零线哪个是L哪个是N零线为〔N〕n代表零线还是火线,火线为〔L〕。市电的交流供电电压为220伏特(V)。包括一根零线〔N〕和一根火线〔L〕,零线接地(地为零)所以称之为零线。   在电工学中

    生活 2021年10月25日
  • 视觉皮层的架构

    技术视觉皮层的架构 视觉皮层的架构视觉皮层的架构
    卷积神经网络(CNN)起源于对大脑的视觉皮层的研究,从20世纪80年代起被用于图像识别。在过去几年中,由于计算机计算能力的提高、可训练数据数量的增加,以

    礼包 2021年11月14日
  • JVM内存查看的三种途径分别是什么

    技术JVM内存查看的三种途径分别是什么本篇文章给大家分享的是有关JVM内存查看的三种途径分别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。通常情况下可

    攻略 2021年10月23日
  • 发朋友圈文字怎么不被折叠,苹果手机朋友圈折叠怎么处理

    技术发朋友圈文字怎么不被折叠,苹果手机朋友圈折叠怎么处理下载安装“讯飞输入法”,进入输入状态,点击“快捷输入”图标,进入“剪贴板”页面发朋友圈文字怎么不被折叠。打开“朋友圈模式”,需要开启完全访问状态,点击“立即开启”。

    生活 2021年10月30日
  • sqoop mysql hive之间的关系(sqoop导入数据到hive语句)

    技术Sqoop+Hive+MySQL怎么配置用户某时间范围这篇文章主要讲解了“Sqoop+Hive+MySQL怎么配置用户某时间范围”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究

    攻略 2021年12月23日