溫馨提示×

Tomcat在CentOS上的權限設置有哪些

小樊
51
2025-09-22 04:49:55
欄目: 智能運維

1. 創建專用Tomcat用戶和用戶組
為避免以root權限運行Tomcat(降低安全風險),需創建專用用戶及用戶組。常用命令如下:

sudo groupadd tomcat  # 創建tomcat用戶組
sudo useradd -M -s /sbin/nologin -g tomcat -d /opt/tomcat tomcat  # 創建用戶(無登錄權限,指定家目錄)

其中,-M表示不創建家目錄,-s /sbin/nologin禁止用戶登錄系統,-d指定家目錄為Tomcat安裝路徑。

2. 更改Tomcat目錄所有權
將Tomcat安裝目錄(如/opt/tomcat)的所有者和用戶組設置為tomcat,確保Tomcat進程有權訪問:

sudo chown -R tomcat:tomcat /opt/tomcat  # -R表示遞歸修改所有子目錄和文件

3. 設置目錄權限
為目錄分配合理權限,兼顧訪問需求與安全性:

  • 目錄權限:設為755(所有者可讀/寫/執行,組和其他用戶可讀/執行),適用于bin、conf、webapps等目錄;
  • 文件權限:設為644(所有者可讀/寫,組和其他用戶可讀),適用于*.xml、*.properties等配置文件。
    命令示例:
sudo find /opt/tomcat -type d -exec chmod 755 {} \;  # 遞歸設置目錄權限
sudo find /opt/tomcat -type f -exec chmod 644 {} \;  # 遞歸設置文件權限

此外,需為啟動腳本添加執行權限:

sudo chmod +x /opt/tomcat/bin/*.sh  # 允許執行startup.sh、shutdown.sh等腳本

4. 配置Tomcat服務以專用用戶運行
通過修改Systemd服務文件,確保Tomcat啟動時使用tomcat用戶:
編輯/etc/systemd/system/tomcat.service(若未創建,可復制默認模板),在[Service]部分添加:

[Service]
User=tomcat
Group=tomcat
UMask=0007  # 設置文件創建掩碼(默認權限為777-0007=770)
RestartSec=10
Restart=always

然后重新加載Systemd并重啟Tomcat:

sudo systemctl daemon-reload
sudo systemctl restart tomcat

5. 配置SELinux(若系統啟用)
若SELinux處于enforcing模式(sestatus命令驗證),需調整策略允許Tomcat訪問資源:

  • 設置SELinux上下文:將Tomcat目錄標記為httpd_sys_content_t(靜態內容),日志目錄標記為httpd_sys_rw_content_t(可讀寫):
    sudo chcon -R -t httpd_sys_content_t /opt/tomcat  # 靜態內容上下文
    sudo chcon -R -t httpd_sys_rw_content_t /opt/tomcat/logs  # 日志目錄可寫
    
  • 持久化上下文:修改SELinux配置文件/etc/selinux/config,將SELINUX=enforcing改為SELINUX=permissive(臨時允許),重啟系統后再改回enforcing;或使用semanage命令永久添加上下文:
    sudo semanage fcontext -a -t httpd_sys_content_t "/opt/tomcat(/.*)?"  # 添加規則
    sudo restorecon -Rv /opt/tomcat  # 恢復上下文
    
  • 允許Tomcat綁定低端口(如80):若需Tomcat監聽80端口(默認需root權限),可賦予CAP_NET_BIND_SERVICE能力:
    sudo setcap 'cap_net_bind_service=+ep' /opt/tomcat/bin/java
    

6. 配置防火墻
允許外部訪問Tomcat默認端口(8080),若使用其他端口需相應調整:

sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp  # 永久添加端口規則
sudo firewall-cmd --reload  # 重新加載防火墻配置

7. 刪除默認應用(可選但推薦)
首次安裝后,刪除webapps目錄下的默認應用(如ROOT、examples),防止惡意代碼部署:

sudo rm -rf /opt/tomcat/webapps/*

8. 隱藏Tomcat版本信息(可選)
修改server.xml中的Connector標簽,添加server屬性,隱藏Tomcat版本:

<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" 
           server="MyAppServer/1.0" />

9. 關閉自動部署(可選但推薦)
server.xmlContext標簽中,設置autoDeploy="false"unpackWARs="false",防止惡意WAR文件自動部署:

<Context docBase="/opt/tomcat/webapps/yourapp" 
         unpackWARs="false" 
         autoDeploy="false" />

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女