6

我正在“破解”一个基于 ARM 的四轴飞行器,它运行一个精简的 Linux 作为课程作业的一部分,在使用 telnet 进入它并访问 bash 终端之后,我想看看文件系统是什么命令可用,我怎么能弄乱它。我运行了“chmod 400 chmod”,但现在无法将其改回,因为当我运行“chmod 777 chmod”时,我得到“Permission Denied”。有没有解决这个问题的命令行?还是我需要某种出厂重置才能恢复 chmod?是的,我意识到我这样做是多么愚蠢。谢谢!

4

3 回答 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 回答