71 Linux 应用程序 permission denied问题
Posted Chasing_Chasing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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!
以上是关于71 Linux 应用程序 permission denied问题的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )
Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )
Linux From Scratch(LFS11.0)构建 LFS 系统 - Autoconf-2.71