前言
有这样一个场景,公司为了安全起见,需要对所有登录Linux服务器做安全限制,要求除了管理员其他要登录linux服务器的员工不能用最高权限账号登录,要创建新的用户,对目录及文件权限做出控制,只能对需要操作的目录允许读,写,执行权限,其他目录只有读的权限,并且所有tomcat不能直接在bin中用startup.sh,shutdown.sh进行启动和停止,要通过写shell脚本进行此操作,也就是说有两个步骤,创建用户并设置权限,写tomcat启动脚本,下面我们就完成这两个步骤。
1.首先我们就来创建一个普通用户。
groupadd tomcat #加组 useradd -g tomcat -s /usr/sbin/nologin tomcat #向组加用户 usermod -L tomcat #锁定密码,使密码无效 passwd tomcat # 设置密码
通过这四步,我们就把普通用户创建好了,在创建用户时,我们是先创建的组,组创建完成后创建用户并加入该组。
用户创建完成后,就开始给用户设置权限
chown -R tomcat:tomcat /data #分配权限给用户
这就是给tomcat这个用户设置了可以操作data目录及其子目录下的权限,-R就代表该目录及其级联子目录。
[root@localhost data]# ls -l total 0 drwxr-xr-x. 4 tomcat tomcat 79 May 20 08:03 tomcat [root@localhost data]#
此时我们通过ls -l
命令就可以看到data目录已经属于tomcat用户,且拥有查看,写入,执行权限
2.完成了用户创建后,我们就要开始完成tomcat启动脚本。
如代码所示:
#!/bin/bash tomcat_home=/data/tomcat/tomcat-8484 SHUTDOWN=$tomcat_home/bin/shutdown.sh STARTTOMCAT=$tomcat_home/bin/startup.sh case $1 in start) echo "启动$tomcat_home" $STARTTOMCAT cd /data/tomcat/tomcat-8484/logs tail -f catalina.out ;; stop) echo "关闭$tomcat_home" #$SHUTDOWN netstat -anp | grep 8484| grep -v grep | awk '{print $7}' | sed -e 's//java//g' | sed -e 's/^/kill -9 /g' | sh #pidlist=`ps -ef |grep tomcat |grep -v "grep"|awk '{print $2}'` #kill -9 $pidlist #删除日志文件,如果你不先删除可以不要下面一行 #rm $tomcat_home/logs/* -rf #删除tomcat的临时目录 #rm $tomcat_home/work/* -rf ;; restart) echo "关闭$tomcat_home" $SHUTDOWN #pidlist=`ps -ef |grep tomcat |grep -v "grep"|awk '{print $2}'` #pidlist=`netstat -anp |grep 8484 |grep -v "grep"|awk '{print $2}'` #netstat -anp | grep 8484| grep -v grep | awk '{print $7}' | sed -e 's//java//g' | sed -e 's/^/kill -9 /g' | sh #kill -9 $pidlist sleep 5 echo "启动$tomcat_home" $STARTTOMCAT #看启动日志 #tail -f $tomcat_home/logs/catalina.out ;; logs) cd /data/tomcat/tomcat-8484/logs tail -f catalina.out ;; esac
上面代码就是tomcat启动脚本,首先我们要创建一个文本文件,然后将后缀名变成.sh,这里我是用端口号为8484的tomcat作为例子,从脚本文件中可以看到,总共只需对自己tomcat位置和日志位置进行自定义改动后就可以使用,总共有四个命令,start,stop,restart,logs。
脚本文件创建好后,只需将它放入你的服务器中,位置可以自己随意选择,我这里就把它放在了tomcat下bin目录中。
脚本文件放入服务器后其实还不能使用,会有两个问题待解决,一个是格式问题,一个是权限问题。因为我们是文本文件创建的,其格式是文本格式,我们要改成unix格式,所以要进行如下设置
sed -i "s/ //" tomcat-8484.sh #设置脚本文件为unix格式
完成了格式设置后就要为该脚本文件设置权限,因为linux默认文件的权限是drwxr-xr-x,即所有运行权限赋予文件所有者也就是系统管理员(当前我是用系统管理员登录),把读和运行的权限赋予群组用户,把读的权限赋予其他用户,所以我们要对脚本文件权限进行重新设置。
chmod 777 ./tomcat-8484.sh
chmod命令就是改变权限的命令,这个777是什么意思呢"text-align: center">
依照上面的表格,权限组合就是对应权限值求和,如下:
7 = 4 + 2 + 1 读写运行权限
5 = 4 + 1 读和运行权限
4 = 4 只读权限
因此,大家也就明白了 chmod 777 ./tomcat-8484.sh
命令的含义了。
此时我们的tomcat启动脚本就完成了,下面我们来演示一下。
启动
[root@localhost bin]# ./tomcat-8484.sh start 启动/data/tomcat/tomcat-8484 Using CATALINA_BASE: /data/tomcat/tomcat-8484 Using CATALINA_HOME: /data/tomcat/tomcat-8484 Using CATALINA_TMPDIR: /data/tomcat/tomcat-8484/temp Using JRE_HOME: /usr Using CLASSPATH: /data/tomcat/tomcat-8484/bin/bootstrap.jar:/data/tomcat/tomcat-8484/bin/tomcat-juli.jar Tomcat started.
我们查看进程看一下是否真的启动
[root@localhost bin]# ps -ef |grep tomcat root 5569 1 7 14:09 pts/0 00:00:06 /usr/bin/java -Djava.util.logging.config.file=/data/tomcat/tomcat-8484/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /data/tomcat/tomcat-8484/bin/bootstrap.jar:/data/tomcat/tomcat-8484/bin/tomcat-juli.jar -Dcatalina.base=/data/tomcat/tomcat-8484 -Dcatalina.home=/data/tomcat/tomcat-8484 -Djava.io.tmpdir=/data/tomcat/tomcat-8484/temp org.apache.catalina.startup.Bootstrap start root 5611 5340 0 14:10 pts/0 00:00:00 grep --color=auto tomcat
可以看到启动没有问题。
关闭
[root@localhost bin]# ./tomcat-8484.sh stop 关闭/data/tomcat/tomcat-8484 sh: line 2: kill: (18484) - No such process [root@localhost bin]# ps -ef |grep tomcat root 5621 5340 0 14:13 pts/0 00:00:00 grep --color=auto tomcat
查看进程确实是关闭成功的,好了我们的tomcat启动脚本也就大功告成了,这个脚本还可以自己在此基础上进行延伸,例如在启动后就立即查看日志等。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]