Linux Tomcat未开始:权限被拒绝

Linux Tomcat未开始:权限被拒绝,linux,tomcat,server,centos7,tomcat9,Linux,Tomcat,Server,Centos7,Tomcat9,尝试使用systemd服务启动tomcat时出现以下错误 systemd[1]: tomcat.service: Failed to execute command: Permission denied systemd[1]: tomcat.service: Failed at step EXEC spawning /opt/tomcat/bin/startup.sh: Permission denied 下面是我的tomcat.service配置 [Unit] Description=Apa

尝试使用systemd服务启动tomcat时出现以下错误

systemd[1]: tomcat.service: Failed to execute command: Permission denied
systemd[1]: tomcat.service: Failed at step EXEC spawning /opt/tomcat/bin/startup.sh: Permission denied
下面是我的tomcat.service配置

[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID

User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target
这是我对bin目录中文件的权限

drwxrwx---. 2 tomcat tomcat   4096 Mar 22 05:56 .
drwx------. 9 tomcat tomcat    276 Mar 22 05:58 ..
-rw-r-----. 1 tomcat tomcat  35071 Mar 11 09:33 bootstrap.jar
-rw-r-----. 1 tomcat tomcat  15953 Mar 11 09:33 catalina.bat
-rwxr-x--x. 1 tomcat tomcat  23792 Mar 11 09:33 catalina.sh
-rw-r-----. 1 tomcat tomcat   1664 Mar 11 09:36 catalina-tasks.xml
-rw-r-----. 1 tomcat tomcat   2123 Mar 11 09:33 ciphers.bat
-rwxr-x--x. 1 tomcat tomcat   1997 Mar 11 09:33 ciphers.sh
-rw-r-----. 1 tomcat tomcat  25197 Mar 11 09:33 commons-daemon.jar
-rw-r-----. 1 tomcat tomcat 206895 Mar 11 09:33 commons-daemon-native.tar.gz
-rw-r-----. 1 tomcat tomcat   2040 Mar 11 09:33 configtest.bat
-rwxr-x--x. 1 tomcat tomcat   1922 Mar 11 09:33 configtest.sh
-rwxr-x--x. 1 tomcat tomcat   8675 Mar 11 09:33 daemon.sh
-rw-r-----. 1 tomcat tomcat   2091 Mar 11 09:33 digest.bat
-rwxr-x--x. 1 tomcat tomcat   1965 Mar 11 09:33 digest.sh
-rw-r-----. 1 tomcat tomcat   3606 Mar 11 09:33 makebase.bat
-rwxr-x--x. 1 tomcat tomcat   3382 Mar 11 09:33 makebase.sh
-rw-r-----. 1 tomcat tomcat   3460 Mar 11 09:33 setclasspath.bat
-rwxr-x--x. 1 tomcat tomcat   3708 Mar 11 09:33 setclasspath.sh
-rw-r-----. 1 tomcat tomcat   2020 Mar 11 09:33 shutdown.bat
-rwxr-x--x. 1 tomcat tomcat   1902 Mar 11 09:33 shutdown.sh
-rw-r-----. 1 tomcat tomcat   2022 Mar 11 09:33 startup.bat
-rwxr-x--x. 1 tomcat tomcat   1904 Mar 11 09:33 startup.sh
-rw-r-----. 1 tomcat tomcat  49372 Mar 11 09:33 tomcat-juli.jar
-rw-r-----. 1 tomcat tomcat 419428 Mar 11 09:33 tomcat-native.tar.gz
-rw-r-----. 1 tomcat tomcat   4574 Mar 11 09:33 tool-wrapper.bat

注意:通过导航到bin目录,我可以使用sudo./startup.sh命令启动tomcat

您可以检查您的
/opt
/opt/bin
权限吗

drwxrwx---. 2 tomcat tomcat   4096 Mar 22 05:56 .
drwx------. 9 tomcat tomcat    276 Mar 22 05:58 ..
-rw-r-----. 1 tomcat tomcat  35071 Mar 11 09:33 bootstrap.jar
-rw-r-----. 1 tomcat tomcat  15953 Mar 11 09:33 catalina.bat
-rwxr-x--x. 1 tomcat tomcat  23792 Mar 11 09:33 catalina.sh
-rw-r-----. 1 tomcat tomcat   1664 Mar 11 09:36 catalina-tasks.xml
-rw-r-----. 1 tomcat tomcat   2123 Mar 11 09:33 ciphers.bat
-rwxr-x--x. 1 tomcat tomcat   1997 Mar 11 09:33 ciphers.sh
-rw-r-----. 1 tomcat tomcat  25197 Mar 11 09:33 commons-daemon.jar
-rw-r-----. 1 tomcat tomcat 206895 Mar 11 09:33 commons-daemon-native.tar.gz
-rw-r-----. 1 tomcat tomcat   2040 Mar 11 09:33 configtest.bat
-rwxr-x--x. 1 tomcat tomcat   1922 Mar 11 09:33 configtest.sh
-rwxr-x--x. 1 tomcat tomcat   8675 Mar 11 09:33 daemon.sh
-rw-r-----. 1 tomcat tomcat   2091 Mar 11 09:33 digest.bat
-rwxr-x--x. 1 tomcat tomcat   1965 Mar 11 09:33 digest.sh
-rw-r-----. 1 tomcat tomcat   3606 Mar 11 09:33 makebase.bat
-rwxr-x--x. 1 tomcat tomcat   3382 Mar 11 09:33 makebase.sh
-rw-r-----. 1 tomcat tomcat   3460 Mar 11 09:33 setclasspath.bat
-rwxr-x--x. 1 tomcat tomcat   3708 Mar 11 09:33 setclasspath.sh
-rw-r-----. 1 tomcat tomcat   2020 Mar 11 09:33 shutdown.bat
-rwxr-x--x. 1 tomcat tomcat   1902 Mar 11 09:33 shutdown.sh
-rw-r-----. 1 tomcat tomcat   2022 Mar 11 09:33 startup.bat
-rwxr-x--x. 1 tomcat tomcat   1904 Mar 11 09:33 startup.sh
-rw-r-----. 1 tomcat tomcat  49372 Mar 11 09:33 tomcat-juli.jar
-rw-r-----. 1 tomcat tomcat 419428 Mar 11 09:33 tomcat-native.tar.gz
-rw-r-----. 1 tomcat tomcat   4574 Mar 11 09:33 tool-wrapper.bat
看起来像

chmod a+rx /opt /opt/tomcat/ /opt/tomcat/bin

应该会有帮助

我想你是按照许多复制的在线教程中的一个来做的,
tomcat
用户使用类似的东西,将
/opt/tomcat/
作为其主目录:

sudo useradd -d /opt/tomcat -s /sbin/nologin tomcat
SELinux正在阻止从主目录启动应用程序,在
/var/log/audit/audit.log

type=AVC msg=audit(1614250994.710:33614): avc:  denied  { execute } for  pid=60244 comm="(artup.sh)" name="startup.sh" dev="dm-3" ino=19000615 scontext=system_u:system_r:init_t:s0 tcontext=unconfined_u:object_r:user_tmp_t:s0 tclass=file permissive=0
我不相信
tomcat
用户需要一个主文件夹,因此可以使用以下方法从现有用户中删除它:

sudo usermod -d / tomcat
或者使用以下内容创建新用户:

sudo useradd -M -s /sbin/nologin tomcat
随后使用以下命令重置SELinux属性:

sudo restorecon -rv /opt/tomcat

/opt
的权限是否禁止
tomcat
?您的
似乎很奇怪,请将
rx
添加到
/opt
/opt/bin
以下是/opt ls-l/opt total 0 drwxr-xr-x的权限。3根根根4月21日23日12:55 eff.org drwx--x--x。9 tomcat tomcat 276 Mar 22 05:58 tomcat和for/opt/tomcat/bin ls-l总计128 drwxrwx----。2 tomcat tomcat 4096 Mar 22 05:56 bin@Orel尝试了上述命令,但问题仍然是一样的。。。Permission deniedI我已经执行了上面的命令,但仍然不起作用。你在使用SELinux吗?@Orel是的,我在使用SELinux