Chinaunix首页 | 论坛 | 博客
  • 博客访问: 784404
  • 博文数量: 434
  • 博客积分: 11187
  • 博客等级: 上将
  • 技术积分: 5221
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-19 01:00
文章分类

全部博文(434)

文章存档

2016年(2)

2013年(1)

2012年(115)

2011年(195)

2010年(32)

2009年(89)

分类: LINUX

2011-01-21 14:36:42

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的用户

#adduser tomcat&& passwd tomcat&& chown tomcat.tomcat /usr/local/tomcat -R

&&su - tomcat -c "/usr/loca/tomcat/bin/startup.sh"

3.使用sudo命令

tomcat的启动脚本中,tomcat的启动命令那行改为sudo -u tomcat /home/tomcat/bin/startup.sh,tomcat即为启动tomcat的用户,使用sudo时要注意,sudo默认是需要tty的,通过修改/etc/sudoers文件,将 Defaults requiretty 注释掉即可,否则系统启动时是不会自动运行的。
阅读(3417) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~