簡單使用普通用戶啟動tomcat


新建用戶tomcat,該用戶不能登錄

useradd tomcat -s '/sbin/nologin'

將/usr/local/tomcat/bin/startup.sh更名

mv /usr/local/tomcat/bin/startup.sh /usr/local/tomcat/bin/startup_.sh

將/usr/local/tomcat/bin/shutdown.sh更名

mv /usr/local/tomcat/bin/shutdown.sh /usr/local/tomcat/bin/shutdown_.sh

新建啟動腳本startup.sh

touch /usr/local/tomcat/bin/startup.sh

其內容如下:

#!/bin/bash
## set user tomcat to /bin/bash to start server
usermod -s /bin/bash tomcat
## use tomcat user to start server
su - tomcat -c /usr/local/tomcat_web/bin/startup_.sh
## set user tomcat to /sbin/nologin 
usermod -s /sbin/nologin tomcat

新建關閉腳本shutdown.sh

touch /usr/local/tomcat/bin/shutdown.sh

內容如下:

#!/bin/bash
## set user tomcat to /bin/bash to shutdown server
usermod -s /bin/bash tomcat
## use tomcat user to shudown server
su - tomcat -c /usr/local/tomcat_web/bin/shuwdown_.sh
## set user tomcat to /sbin/nologin 
usermod -s /sbin/nologin tomcat

設置tomcat用戶權限

chown -R tomcat:tomcat /usr/local/tomcat/
chmod -R 744  /usr/local/tomcat

判斷tomcat用戶是否存在

ret=`id -u tomcat >& /dev/null`

if [ $? -ne 0 ];then
   echo "not exist"
fi

 也可以普通用戶使用開機啟動服務啟動tomcat

 /usr/lib/systemd/system/下新建文件tomcat.service,將下面內容拷貝其中

[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target remote-fs.target nss-lookup.target redis.service mysql.service
Requires=mysql.service  redis.service
[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true
User=tomcat

[Install]
WantedBy=multi-user.target

注冊到系統服務

systemctl enable tomcat.service

使新注冊服務生效

systemctl daemon-reload

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM