我正在“破解”一个基于 ARM 的四轴飞行器,它运行一个精简的 Linux 作为课程作业的一部分,在使用 telnet 进入它并访问 bash 终端之后,我想看看文件系统是什么命令可用,我怎么能弄乱它。我运行了“chmod 400 chmod”,但现在无法将其改回,因为当我运行“chmod 777 chmod”时,我得到“Permission Denied”。有没有解决这个问题的命令行?还是我需要某种出厂重置才能恢复 chmod?是的,我意识到我这样做是多么愚蠢。谢谢!
问问题
11052 次
3 回答
5
如果你有perl
,你可以这样做:
perl -e 'chmod(0755, "chmod")'
于 2013-10-24T00:59:51.473 回答
4
如此处建议:https ://unix.stackexchange.com/questions/77852/how-to-recover-from-a-chmod-r-000-bin您可以尝试使用sudo perl -e 'chmod 0755, "/bin/chmod"'
来修复文件的权限。
我刚刚自己尝试过,将 /bin/chmod 复制到 ~/chmod,运行~/chmod 400 ~/chmod
然后尝试再次使用 ~/chmod。正如预期的那样,我收到了一个权限被拒绝的错误。然后我使用了 perl 技巧,perl -e 'chmod 0755, "~/chmod"'
并且能够再次使用 ~/chmod。
我希望这有帮助。
于 2013-10-24T00:59:26.697 回答
3
也许可以将另一个chmod
二进制文件(具有可执行权限)复制到乱七八糟的 Linux 上,然后再复制chmod
这个乱七八糟的chmod
二进制文件。例如
/path/to/the/copied/chmod 777 /path/to/the/old/chmod.
于 2013-10-24T00:58:44.107 回答