设为首页 - 加入收藏 桂林站长网 (http://www.0773zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 2018 系统 2019
当前位置: 首页 > 七星图 > 外闻 > 正文

超实用的Tomcat启动脚本实现

发布时间:2019-05-22 05:30 所属栏目:[外闻] 来源:今日头条
导读:有这样一个场景,公司为了安全起见,需要对所有登录Linux服务器做安全限制,要求除了管理员其他要登录linux服务器的员工不能用最高权限账号登录,要创建新的用户,对目录及文件权限做出控制,只能对需要操作的目录允许读,写,执行权限,其他目录只有读的

有这样一个场景,公司为了安全起见,需要对所有登录Linux服务器做安全限制,要求除了管理员其他要登录linux服务器的员工不能用最高权限账号登录,要创建新的用户,对目录及文件权限做出控制,只能对需要操作的目录允许读,写,执行权限,其他目录只有读的权限,并且所有tomcat不能直接在bin中用startup.sh,shutdown.sh进行启动和停止,要通过写shell脚本进行此操作,也就是说有两个步骤,创建用户并设置权限,写tomcat启动脚本,下面我们就完成这两个步骤。

超实用的Tomcat启动脚本实现

1.首先我们就来创建一个普通用户。

  1. groupadd?tomcat?#加组?
  2. useradd?-g?tomcat?-s?/usr/sbin/nologin?tomcat?#向组加用户?
  3. usermod?-L?tomcat?#锁定密码,使密码无效?
  4. passwd?tomcat?#?设置密码?

通过这四步,我们就把普通用户创建好了,在创建用户时,我们是先创建的组,组创建完成后创建用户并加入该组。

用户创建完成后,就开始给用户设置权限

  1. chown?-R?tomcat:tomcat?/data?#分配权限给用户?

这就是给tomcat这个用户设置了可以操作data目录及其子目录下的权限,-R就代表该目录及其级联子目录。

  1. [root@localhost?data]#?ls?-l?
  2. total?0?
  3. drwxr-xr-x.?4?tomcat?tomcat?79?May?20?08:03?tomcat?
  4. [root@localhost?data]#??

此时我们通过ls -l 命令就可以看到data目录已经属于tomcat用户,且拥有查看,写入,执行权限

2.完成了用户创建后,我们就要开始完成tomcat启动脚本。

如代码所示:

  1. #!/bin/bash?
  2. tomcat_home=/data/tomcat/tomcat-8484?
  3. SHUTDOWN=$tomcat_home/bin/shutdown.sh?
  4. STARTTOMCAT=$tomcat_home/bin/startup.sh?
  5. case?$1?in?
  6. start)?
  7. echo?"启动$tomcat_home"?
  8. $STARTTOMCAT?
  9. cd?/data/tomcat/tomcat-8484/logs?
  10. tail?-f?catalina.out?
  11. ;;?
  12. stop)?
  13. echo?"关闭$tomcat_home"?
  14. #$SHUTDOWN?
  15. netstat?-anp?|?grep?8484|?grep?-v?grep?|?awk?'{print?$7}'?|?sed?-e?'s//java//g'?|?sed?-e?'s/^/kill?-9?/g'?|?sh?
  16. #pidlist=`ps?-ef?|grep?tomcat?|grep?-v?"grep"|awk?'{print?$2}'`?
  17. #kill?-9?$pidlist?
  18. #删除日志文件,如果你不先删除可以不要下面一行?
  19. #rm?$tomcat_home/logs/*?-rf?
  20. #删除tomcat的临时目录?
  21. #rm?$tomcat_home/work/*?-rf?
  22. ;;?
  23. restart)?
  24. echo?"关闭$tomcat_home"?
  25. $SHUTDOWN?
  26. #pidlist=`ps?-ef?|grep?tomcat?|grep?-v?"grep"|awk?'{print?$2}'`?
  27. #pidlist=`netstat?-anp?|grep?8484?|grep?-v?"grep"|awk?'{print?$2}'`?
  28. #netstat?-anp?|?grep?8484|?grep?-v?grep?|?awk?'{print?$7}'?|?sed?-e?'s//java//g'?|?sed?-e?'s/^/kill?-9?/g'?|?sh?
  29. #kill?-9?$pidlist?
  30. sleep?5?
  31. echo?"启动$tomcat_home"?
  32. $STARTTOMCAT?
  33. #看启动日志?
  34. #tail?-f?$tomcat_home/logs/catalina.out?
  35. ;;?
  36. logs)?
  37. cd?/data/tomcat/tomcat-8484/logs?
  38. tail?-f?catalina.out?
  39. ;;?
  40. esac?

上面代码就是tomcat启动脚本,首先我们要创建一个文本文件,然后将后缀名变成.sh,这里我是用端口号为8484的tomcat作为例子,从脚本文件中可以看到,总共只需对自己tomcat位置和日志位置进行自定义改动后就可以使用,总共有四个命令,start,stop,restart,logs。

脚本文件创建好后,只需将它放入你的服务器中,位置可以自己随意选择,我这里就把它放在了tomcat下bin目录中。

脚本文件放入服务器后其实还不能使用,会有两个问题待解决,一个是格式问题,一个是权限问题。因为我们是文本文件创建的,其格式是文本格式,我们要改成unix格式,所以要进行如下设置

  1. sed?-i?"s/?
  2. //"?tomcat-8484.sh?#设置脚本文件为unix格式?

完成了格式设置后就要为该脚本文件设置权限,因为linux默认文件的权限是drwxr-xr-x,即所有运行权限赋予文件所有者也就是系统管理员(当前我是用系统管理员登录),把读和运行的权限赋予群组用户,把读的权限赋予其他用户,所以我们要对脚本文件权限进行重新设置。

  1. chmod?777?./tomcat-8484.sh??

chmod命令就是改变权限的命令,这个777是什么意思呢?

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章