标签: system-recovery

如何在没有 /usr/bin/chmod 的情况下进行 chmod?

今天,一位 Unix 培训师告诉我一个故事,其中 root 密码被泄露给了学生,其中一个家伙从/usr/bin/chmod自己身上删除了执行权限。chmod在这种情况下如何恢复并使其再次可执行?假设从外部来源获取它或重新编译它不是一个更好的选择,是否有一些可以chmod自行恢复的智能黑客?

请注意,这发生在很久以前,我不是在寻找当前问题的解决方案,只是好奇 Unix 为我们提供了哪些解决此类问题的方法。

permissions chmod executable system-recovery

164
推荐指数
9
解决办法
6万
查看次数

在我的猫的帮助下更改文件的权限

root@system:~# less myfile
-bash: /bin/less: Input/output error
Run Code Online (Sandbox Code Playgroud)

根文件系统已死。但我的猫还活着(在我的记忆中):

root@system:~# cat > /tmp/somefile
C^d
root@system:~#
Run Code Online (Sandbox Code Playgroud)

虽然他有点孤独,但他所有的朋友都走了:

root@system:~# mount
-bash: /bin/mount: Input/output error
root@system:~# dmesg
-bash: /bin/dmesg: Input/output error
root@system:~# less
-bash: /bin/less: Input/output error
root@system:~# chmod
-bash: /bin/chmod: Input/output error
Run Code Online (Sandbox Code Playgroud)

该系统仍在运行,并实现其目的。我知道,我知道,对此唯一明智的反应是关闭系统并更换根驱动器。不幸的是,这不是一个选择,因为它会花费大量的时间和金钱。此外,它会杀死我的猫,这会让我感到难过。

我想从捐赠者那里带他平时的朋友。我不敢尝试 scp 它们,以防 ssh 尝试加载它并切断线路(无论如何二进制文件已经消失了)。这听起来像是我猫表弟的工作:

root@system:~# netcat -l 1234 > /tmp/less
-bash: netcat: command not found
Run Code Online (Sandbox Code Playgroud)

可惜他早已不在了。

现在,我可以尝试欺骗我的猫执行一个仪式来复活他:

cat > netcat < /dev/tcp/localhost/9999
Run Code Online (Sandbox Code Playgroud)

那种工作。他几乎还活着:

root@system:/tmp# /tmp/netcat
-bash: /tmp/netcat: Permission denied
Run Code Online (Sandbox Code Playgroud)

他只需要一点点生命的火花。那个+x我现在无法背诵的小魔法咒语。

你能帮我把我猫的朋友带回来吗?

filesystems bash cat root-filesystem system-recovery

53
推荐指数
1
解决办法
3609
查看次数

如何从 chmod -R 000 /bin 中恢复?

现在我无法 chmod 它回来.. 或使用我的任何其他系统程序。幸运的是,这是在我一直在玩弄的虚拟机上,但是有什么办法可以解决这个问题吗?系统为 Ubuntu Server 12.10。

我试图重新启动到恢复模式,不幸的是,由于在 init-bottom 可用性运行后权限未授予某些程序,我现在根本无法启动到系统中 - 系统只是挂起。这是我看到的:

Begin: Running /scripts/init-bottom ... done
[   37.062059] init: Failed to spawn friendly-recovery pre-start process: unable to execute: Permission denied
[   37.084744]  init: Failed to spawn friendly-recovery post-stop process: unable to execute: Permission denied
[   37.101333] init: plymouth main process (220) killed by ABRT signal
Run Code Online (Sandbox Code Playgroud)

在此之后,计算机挂起。

permissions chmod executable system-recovery

41
推荐指数
3
解决办法
2万
查看次数

BusyBox 命令是真正内置的吗?

我在阅读著名的Unix Recovery Legend 时,突然想到:

如果我打开了一个 BusyBox shell,并且 BusyBox 二进制文件本身被删除了,我还能使用 BusyBox 二进制文件中包含的所有命令吗?

显然,我无法从另一个正在运行的 shell 中使用这些命令的 BB 版本,例如bash,因为 BusyBox 文件本身将无法bash打开和运行。但是在 BusyBox 的运行实例中,在我看来,BB 可以通过两种方法运行命令:

  1. 它可以派生并执行一个新的 BusyBox 实例,使用适当的名称调用它——并从磁盘读取 BusyBox 文件来执行此操作。
  2. 它可以分叉并执行一些内部逻辑来运行指定的命令(例如,通过将其作为函数调用运行)。

如果 (1) 是 BusyBox 的工作方式,我希望在删除 BB 二进制文件后,某些 BusyBox 提供的命令在 BB 的运行实例中将变得不可用。

如果 (2) 是它的工作原理,那么 BusyBox 甚至可以用于恢复 BB 本身已被删除的系统——前提是仍然可以访问 BusyBox 的一个正在运行的实例。

这在任何地方都有记录吗?如果没有,有没有办法安全地测试它?

busybox system-recovery

29
推荐指数
2
解决办法
3885
查看次数

无法登录,因为我忘记了用户名

我的朋友在我的电脑上安装了 Linux Mint 17.3 Cinnamon 64 位。好吧,我忘记了用户名,所以我在网上搜索了“忘记用户名 linux”并来到这里。

我得到了在 GRUB 中的第一个项目中点击“e”的建议,我这样做了。建议的下一部分说寻找以 KERNAL 开头的行。现在这里是它变得有趣的地方。我没有在其中找到与 KERNAL 相关的一行。但是,我确实找到了以 LINUX 开头的一行。

完整的未编辑行如下:

linux        /vmlinuz-3.19.0-32-generic root=UUID=0c031f3a-81ae-4c33-06cc--c82a855736d1 ro  quiet splash $vt_handoff
Run Code Online (Sandbox Code Playgroud)

然后建议说查看并编辑splash quietsingle. 现在,如果您注意到上面的内容,quiet splash而不是splash quiet. 所以我想我会编辑quiet splashsingle.

现在它要求输入root密码。任何人都可以帮忙吗?我想我需要一张Live CD。

users password system-recovery

16
推荐指数
3
解决办法
7993
查看次数

unix - 意外地将 root 下的所有内容移动到 /old - Solaris 10

正如标题所说,在 Solaris 10 机器上,root (/) 下的所有重要的东西或几乎所有重要的东西都移到了 /old 。所以现在尝试的典型故障时运行时,命令Cannot find /usr/lib/ld.so.1(改变$PATH,也试图改变$LD_LIBRARY_PATH$LD_LIBRARY_PATH_64$LD_RUN_PATH和出口,但他们没有,这似乎改变实际库路径)。昨天尝试了很多寻找可能有帮助的东西,但没有发现任何东西实际上会改变 Solaris 10 的库路径,除了可能crle但无法运行,因为Cannot find /usr/lib/ld.so.1.

找到了很多 Linux 的 root 或 /usr/bin 恢复提示等,但有关 Solaris 10/Unix 的信息并不普遍且非常稀少。

不能运行cplnmkdirmvCannot find /usr/lib/ld.so.1。不能使用其他会话登录到机器。尽管一个会话仍然可以使用,并且该窗口被while true; do date; echo hej 1234567; done. 我们已经讨论了在 USB 驱动器上使用 Solaris 引导 CD 和 Linux dist 的解决方案。我们已经讨论了将硬盘驱动器磁盘切换到另一个机架的解决方案。

/.../static/.../mv解决方案已经过测试,但没有奏效。

仍然可以使用的命令是(可能还有更多的命令可以使用):echo<> …

solaris system-recovery

13
推荐指数
2
解决办法
2712
查看次数

从 Ubuntu 中删除了 apt-get;如何恢复?

好吧,我的手指确实设法做sudo apt-get remove libstdc++6和写,yes。这删除了很多系统文件。有没有办法让它重新工作?我已连接到终端,并且wget工作正常。ctrl+C当我弄清楚发生了什么时,我设法做到了。

我认为主要的是 get apt-get,但是如何?

Ubuntu 11.10 Oneiric x64 位

ubuntu apt package-management system-recovery

8
推荐指数
2
解决办法
954
查看次数

修复 /var(或任何其他系统目录)上损坏的权限

长话短说,我/var从备份中销毁并恢复了它 - 但备份没有设置正确的权限,现在所有/var内容都归 root 所有。这似乎让一些程序不高兴。

我已经/var/cache/man按照此处的建议修复了 apt 失败 fopen以及 apache2 无法启动(通过赋予/var/lib/apache2to所有权www-data)。但是,现在解决所有问题的唯一方法似乎是在出现问题时手动处理权限 - 这似乎非常困难,因为我必须等待程序开始出现问题,确定问题与权限有关一些文件,/var然后自己设置它们。

有没有简单的方法来纠正这个问题?我已经尝试重新安装 (plain aptitude reinstall x) 中列出的每个包dpkg -S /var,但这没有用。

permissions debian system-recovery

7
推荐指数
1
解决办法
4510
查看次数

在 linux 上恢复隐形屏幕和下拉菜单

终端已经不可见了,尽管我可以输入命令并执行它们: 在此处输入图片说明

即使某些 Firefox 下载下拉菜单是不可见的,我可以单击下拉列表中的项目但列表本身是不可见的(请参阅突出显示的向下箭头但下拉列表是不可见的): 在此处输入图片说明

一些系统细节:

~> stty --all
速度 38400 波特;第 24 行;第 80 栏;线 = 0;
内部= ^ C; 退出 = ^\; 擦除 = ^?; 杀 = ^U; eof = ^ D; eol = M-^?; eol2 = M-^?;
swtch = M-^?; 开始 = ^Q; 停止 = ^ S; 暂停 = ^ Z; rpnt = ^R; wase = ^W;
lnext = ^V; 冲洗 = ^O; 分钟 = 1; 时间 = 0;
-parenb -parodd cs8 hupcl -cstopb crad -clocal -crtscts
-ignbrk …

gui terminal linux-mint system-recovery

6
推荐指数
1
解决办法
3470
查看次数

如何从 `chmod -x chmod` 中恢复?

假设您无法访问 Internet 或重新启动机器,我该如何恢复

chmod -x chmod
Run Code Online (Sandbox Code Playgroud)

?

permissions chmod executable system-recovery

6
推荐指数
1
解决办法
1601
查看次数