解决 systemctl Failed to locate executable : Permission denied

解决 systemctl Failed to locate executable : Permission denied

解决方案

chown -R root:root /opt/jeremytsai/server/
chmod +x /opt/jeremytsai/server/bin
restorecon -rv /opt/jeremytsai/server/bin

原因分析

owner id 错乱问题,这个暂时不清楚。
服务无法执行是因为服务经过了移动。一般情况下,mv 不会更新安全上下文,所以当服务移动后,上下文对不上,就被 SELinux 拒绝了。

解决过程

同事搞了一个服务,写了 server.service 添加到 systemctl,提示找不到该服务。Unit server.service could not be found.

删除链接的service文件,查看目录权限,有不少文件所有者出问题了,显示为1000的id。

drwxr-xr-x. 2 1000 1000  4096 May  7  2022 bin
drwxr-xr-x. 2 1000 1000    92 Jun 28 16:18 conf
drwxr-xr-x. 3 root root    35 Jun 28 21:33 data
drwxr-xr-x. 5 1000 1000  4096 May  7  2022 docs
drwxr-xr-x. 2 root root  4096 Jun 28 16:14 lib
-rw-r--r--. 1 1000 1000 11358 May  7  2022 LICENSE.txt
drwxr-xr-x. 2 root root    76 Jun 28 16:24 logs
-rw-r--r--. 1 1000 1000  2084 May  7  2022 NOTICE.txt
-rw-r--r--. 1 1000 1000  2214 May  7  2022 README.md
-rw-r--r--. 1 root root   333 Jun 28 21:32 server.service

修正所有者,由于是本地测试的服务器,直接root

chown -R root:root /opt/jeremytsai/server/

重新链接

ln -s /opt/jeremytsai/server/server.service /etc/systemd/system/server.service
systemctl daemon-reload

重新运行,能找到服务unit了,但是还是执行失败,提示

server.service: Failed to locate executable /opt/jeremytsai/server/bin/server.sh: Permission denied
server.service: Failed at step EXEC spawning /opt/jeremytsai/server/bin/server.sh: Permission denied

查看 SELinux 状态

sestatus -v

显示: SELinux status: enabled ,恢复下执行文件的安全上下文

restorecon -rv /opt/jeremytsai/server/bin

至此,服务正常了。


若文章有误,或你有什么见解,欢迎留言指正和交流。
原创不易,若有所帮助,欢迎点赞、收藏。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
java.io.IOException: Permission denied 是一个Java的异常错误,它表示在执行某个操作时,程序无法获取到所需的权限。根据引用中的描述,这个错误通常出现在Android 7.0及以上版本的手机上,因为这些版本的系统要求应用程序在运行时必须获取相应的权限。 在Android 7.0及以上的版本中,应用程序需要通过动态权限申请的方式来获取存储权限。你可以在应用管理中找到你的app,检查是否已经开启了存储权限。如果没有开启,可以使用一些代码来动态请求权限,以确保应用可以正常访问所需的存储空间。 另外,根据引用中的描述,java.io.IOException: Permission denied 错误也可能与文件操作相关。在进行文件读写等操作时,如果没有相应的权限,就会出现这个异常。因此,你可能需要检查你的代码中是否有对文件的操作,并确保已经获取了正确的权限。 总之,java.io.IOException: Permission denied 错误通常与权限相关,你需要确保你的应用已经获取到了所需的权限,以及在进行文件操作时需要注意权限问题,以避免出现这个异常。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java.io.IOException: Permission denied](https://blog.csdn.net/wan903531306/article/details/78078524)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [报错:java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries....](https://download.csdn.net/download/weixin_42196279/15528823)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [java.io.IOException:Permission denied](https://blog.csdn.net/qq_41861832/article/details/127649888)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值