linux执行文件777还是没有权限怎么办

说白了,Linux文件即使有7 7 7 权限也无法运行。
这可能是由于几个隐藏的陷阱造成的。

我们先来说说最重要的事情。
SELinux或者AppArmor可以直接破坏权限。
去年我们运行那个项目时,脚本显然是7 7 7 原来SELinux关闭了httpd_can_execute,所以只有setsebool -P httpd_can_execute 1 起作用。
还有一点是目录权限也需要考虑。
例如,如果文件位于 /var/run 等位置,则该目录必须具有 x 权限。
很多人在3 000级的服务器中都没有注意到这一点。
还有另一个重要的细节。
例如,setuid/setgid 或粘性位等特殊权限未正确匹配。
例如,在线社区使用粘滞位来防止用户删除其他人的文件。
如果不添加就会崩溃。

一开始我以为一定是用户问题,后来发现不对劲。
Linux 用户和文件系统权限是两个不同的东西。
您需要使用 groups 和 chown 来正确调整它们。
检查指向的链接也很重要。
上次将符号链接指向的文件权限改为6 4 4 ,直接导致程序无法启动。

等等,那是另一回事。
有时文件实际上是由内核级别损坏的,例如乱码或结构损坏。
重新安装或使用 dd if=/dev/zero of=xxx.sh 删除并重写可能会解决问题。
但说实话,还是挺难的。
故障排除的顺序需要颠倒过来,从最简单的目录权限开始,最后触及 SELinux 等核武器。

学习Linux须知1.1之Linux属性、权限,以及解决你没有权限操作此文件

linux创建文件夹权限不够 linux创建文件夹权限

解决Linux无法创建文件的办法linux无法创建文件

检查权限;使用 sudo -i 或 chmod。
运行 fsck 修复启动状态错误。
没有文件夹 使用 mkdir 创建它。
空间不足;使用 df-h 查看空间并在必要时腾出空间。