71 Linux 应用程序 permission denied问题

1 前言

        最近在工作中,遇到了执行应用程序的时候出现permission denied问题,如下图示。

 

        由上图示我明明已经把该可执行程序的权限改成777了,也就是:chmod 777 -R /sbin*,但还会出现permission denied问题,简直吐血啊,第一次遇到这么奇怪的问题。

 2 问题解决

        由于问题过于“简单”,所以网上搜索到的无非是chmod 777 *或chmod a+x *的解决办法,类似下图示。

 但我把应用的执行权限调为777了,但是并没有什么作用,因此上述方法只适合小白的permission denied问题。

问题怀疑:库的执行权限不足,导致permission denied!

        对于permission denied问题我询问了做内核这一块的师兄,他说可以用strace工具来调试卡在哪里,然后我就兴高采烈的去移植strace工具了, 然而的然而,因该是编译工具链问题,导致编译工具老是出问题,所以无奈放弃!!!

        最后我直接用strings命令,查看应用程序依赖哪些库,然后查看对应库的执行权限。

 发现应用程序运行依赖了ld.so.1这个库。

然后我就去看ld.so.1这个库,发现它没有执行权限,为此我把该库chmod 777后,就可以正常运行了。

总结

        应用程序permission denied除了自己的可执行权限不足可导致外,链接库的权限不足也可能导致permission denied。

over!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值