解决 mac 下执行 ./startup.sh 报 error =1 Operation not permitted 问题

公司现在的项目都是使用 SpringBoot 了,前几天刚把一个项目用 SpringBoot 重写了,原来是一个老项目,用的是 Servlet。必须要用 Tomcat 启动。但是在启动时报了两个问题:tomcat catalina.sh error=13, Permission denied 和 error =1 Operation not permitted,本文说说这两个问题的解决方案。

这其实是 Mac 电脑的一个限制!

我刚开始以为是权限问题,所以我就执行了 chmod -R 755 tomcat。把整个 tomcat 的权限都给放大。

后来发现还是不可以。说一下,Mac 电脑中,tomcat 从官方下载下来后,默认是没有执行权限的,并且默认权限是 644。

权限放大后,还是不能解决问题。再次执行启动脚本提示:error =1 Operation not permitted。

执行 ls -al 命令,发现下面一大堆的文件都带 @ 权限。这是个什么东西?

bin ls -al
total 1704
drwxr-xr-x@ 25 xttblog  staff     800 12 12 12:07 .
drwxr-xr-x@ 17 xttblog  staff     544 12 24 15:14 ..
-rwxr-xr-x@  1 xttblog  staff   35051 12 12 12:07 bootstrap.jar
-rwxr-xr-x@  1 xttblog  staff    1703 12 12 12:07 catalina-tasks.xml
-rwxr-xr-x@  1 xttblog  staff   15900 12 12 12:07 catalina.bat
-rwxr-xr-x   1 xttblog  staff   24218 12 12 12:07 catalina.sh
-rwxr-xr-x@  1 xttblog  staff  207125 12 12 12:07 commons-daemon-native.tar.gz
-rwxr-xr-x@  1 xttblog  staff   25145 12 12 12:07 commons-daemon.jar
-rwxr-xr-x@  1 xttblog  staff    2040 12 12 12:07 configtest.bat
-rwxr-xr-x@  1 xttblog  staff    1922 12 12 12:07 configtest.sh
-rwxr-xr-x@  1 xttblog  staff    8508 12 12 12:07 daemon.sh
-rwxr-xr-x@  1 xttblog  staff    2091 12 12 12:07 digest.bat
-rwxr-xr-x@  1 xttblog  staff    1965 12 12 12:07 digest.sh
-rwxr-xr-x@  1 xttblog  staff    3460 12 12 12:07 setclasspath.bat
-rwxr-xr-x@  1 xttblog  staff    3680 12 12 12:07 setclasspath.sh
-rwxr-xr-x@  1 xttblog  staff    2020 12 12 12:07 shutdown.bat
-rwxr-xr-x   1 xttblog  staff    1902 12 12 12:07 shutdown.sh
-rwxr-xr-x@  1 xttblog  staff    2022 12 12 12:07 startup.bat
-rwxr-xr-x   1 xttblog  staff    1904 12 12 12:07 startup.sh
-rwxr-xr-x@  1 xttblog  staff   49336 12 12 12:07 tomcat-juli.jar
-rwxr-xr-x@  1 xttblog  staff  418183 12 12 12:07 tomcat-native.tar.gz
-rwxr-xr-x@  1 xttblog  staff    4574 12 12 12:07 tool-wrapper.bat
-rwxr-xr-x@  1 xttblog  staff    5515 12 12 12:07 tool-wrapper.sh
-rwxr-xr-x@  1 xttblog  staff    2026 12 12 12:07 version.bat
-rwxr-xr-x@  1 xttblog  staff    1908 12 12 12:07 version.sh

后来网上搜索了一下,发现可以通过 xattr -d 命令来解决。原来 mac os/x 系统有一个扩展权限属性@。

解决办法如下:

xattr -d com.apple.quarantine startup.sh 
xattr -d com.apple.quarantine catalina.sh
xattr -d com.apple.quarantine shutdown.sh

这对于初次使用 mac 的人来说真的是难,还好现在搜索引擎很方便。

解决 mac 下执行 ./startup.sh 报 error =1 Operation not permitted 问题

: » 解决 mac 下执行 ./startup.sh 报 error =1 Operation not permitted 问题

原创文章,作者:wure,如若转载,请注明出处:https://blog.ytso.com/251991.html

(0)
上一篇 2022年5月3日
下一篇 2022年5月3日

相关推荐

发表回复

登录后才能评论