非root用户启动tomcat

摘要:
当Defaultsrrequiretty被注释掉时,根用户可以启动tomcat,这是一个严重的问题。因此,我们最好不要使用root来启动tomcat。有三种方法可以使用非root用户运行tomcat:JSP使用root启动是不安全的。这解决了su-tomcat-c'/usr/local/tomcat/bin/shutdown的问题。sh“”tomcat停止命令。3.在tomcat启动脚本中使用sudo命令。

sudo默认是需要tty的,通过修改/etc/sudoers文件,将 Defaults requiretty 注释掉即可

用root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限。这意味着你的任何一个jsp脚本都具有root权限,所以可以轻易地用jsp脚本删除你整个硬盘里的东西!所以我们最好不要使用root启动tomcat

使用非root用户运行tomcat有3中方法:

1.使用tomcat自带的工具jsvc,在在tomcat的bin目录下有一个jsvc.tar.gz的文件,进入tomcat的bin目录下 
将其解压,得到jsvc-src文件夹,进入jsvc-src。在终端运行:

./configure --with-java=/usr/lib/j2sdk1.6-sun(改成你的JDK的位置) 
make
得到jsvc-src/jsvc文件。将jsvc-src/native/tomcat6.sh脚本文件拷贝到/etc/init.d下/etc/init.d/tomcat6.sh还需要修改,使其看起来像:
JAVA_HOME=/usr/lib/j2sdk1.6-sun
CATALINA_HOME=/usr/share/tomcat6
DAEMON_HOME=/usr/share/tomcat6
TOMCAT_USER=tomcat6 #这里改为一个普通身份的用户名
TMP_DIR=/var/tmp
CATALINA_OPTS=
CLASSPATH=
$JAVA_HOME/lib/tools.jar:
$CATALINA_HOME/bin/commons-daemon.jar:
$CATALINA_HOME/bin/bootstrap.jar
case "$1" in
start)
   #
   # Start Tomcat
   #
   $DAEMON_HOME/bin/jsvc-src/jsvc
   ......


2.使用su命令 
tomcat的启动脚本中,tomcat的启动命令那行改为su -c /home/tomcat/bin/startup.sh tomcat,tomcat即为启动tomcat的用户

===================================

# addusr tomcat
# chown -R tomcat:tomcat /usr/local/tomcat
-------------------------------------
#vi /etc/rc.local
在最后加入:
su - tomcat -c '/usr/local/tomcat/bin/startup.sh'
------------------------------------
REBOOT试试,JSP用ROOT启动不安全的问题解决了

su - tomcat -c '/usr/local/tomcat/bin/shutdown.sh' ‘tomcat停止命令


3.使用sudo命令 
tomcat的启动脚本中,tomcat的启动命令那行改为sudo -u tomcat /home/tomcat/bin/startup.sh,tomcat即为启动tomcat的用户 
使用sudo时要注意,sudo默认是需要tty的,通过修改/etc/sudoers文件,将 Defaults requiretty 注释掉即可,否则系统启动时是不会自动运行的

免责声明:文章转载自《非root用户启动tomcat》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇正则表达式---用户验证Python 用SMTP发送邮件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

QuickRun-快速运行助手

  大家平时需要打开软件的时候都是怎么操作的?一般来说有三种方式: 切换到桌面再点击软件的快捷方式(会将当前正在操作的软件隐藏,再切换回之前的状态比较麻烦,特别是桌面被密密麻麻的图标铺满的时候,找到一个快捷方式更是费劲) 是点击开始菜单,从程序列表中找到软件的快捷方式(安装的软件较多候,找到快捷方式也会花点时间) 是将常用软件锁定到任务栏,直接点击任务栏...

ubuntu环境ceph配置入门(一)

环境:ubuntu server 14.04 64bit,安装ceph版本号0.79 正常情况下应有多个主机,这里为了高速入门以一台主机为例,多台主机配置方式类似。 1. 配置静态IP及主机名 静态IP配置: #vi /etc/network/interfaces 改动eth0配置为 auto eth0 iface eth0 inet static a...

Ubuntu18.04下strongSwan配置

1、官网下载strongswan strongswan-5.8.4.tar.gz 2020/03/29, size 7'282'749 bytes,pgp-signature,md5:d97e8eeb4fc0223f0d6fb331c4d2bcce 链接:https://www.strongswan.org/download.html 2、编译和安装 ta...

sudo漏洞解决方案--源码转rpm包(spec文件编写)

RPM 知识储备   将源码包打包成rpm包,一般有两种情况 在找包中,能够在网上找到 “.src.rpm” 结尾的包,并且是根据漏洞需要升级的版本的包 在找包中,没有找到 “.src.rpm” 结尾的包 ,软件包官网只提供源码包和二进制包,需要自己来写spec文件来打成rpm包   !!本章只对第二种做举例与分析!!   若要构建一个标准的 RPM...

同行——项目系统设计与数据库设计

所属班级 2019秋福大软件工程实践Z班 (福州大学) 作业要求 团队作业第四次—项目系统设计与数据库设计 团队名称 同行 这个作业的目标 设计好系统和数据库,根据组员分工,完成自己相应任务,然后汇总给,有问题再一起交流讨论修改,直到完成对数据库系统说明书和体系说明书的设计。 参考文献 《数据库设计说明书》国家标准,《软件工程》,《构建之法》 团队项目的预...

NodeJS、NPM安装配置与测试步骤(windows版本)

1、windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的“INSTALL”按钮,直接点击就会自动下载安装了。 2、安装过程基本直接“NEXT”就可以了。(windows的安装msi文件在过程中会直接添加path的系统变量,变量值是...