意外移动根目录下的目录

我不小心跑了这个命令

sudo mv /* /applications/minced/ 

代替

 sudo mv ./* /applications/minced/ 

这就是根目录中的所有内容

 $ / applications/ dev/ proc/ run/ sys/ tmp/ 

我仍然有一个活动的ssh连接到服务器。 我尝试直接从/applications/minced/bin//applications/minced/usr/bin/调用mvsudochmod …但是没有任何作用,尽管我可以使用路径自动完成function找到它们。

 $ /applications/minced/bin/ls -bash: /applications/minced/bin/ls: No such file or directory 

我已经阅读了Revert移动根目录 ,但是在LiveCD下安装系统不是我的选择,因为它是VPS,而不是物理机器。 有任何想法吗?

更新

我发现这是由于库连接问题,所以我这样做了

 $ export LD_LIBRARY_PATH=/applications/minced/lib/x86_64-linux-gnu/ $ /applications/minced/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /applications/minced/bin/mv /applications/minced/* / 

显然我遇到了许可问题。 使用链接器调用sudo会引发此错误

 $ /applications/minced/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /applications/minced/usr/bin/sudo ... sudo: effective uid is not 0, is /applications/minced/usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges? 

正如Barafu Albino所建议的那样,我试图用busybox( .../bin/busybox su - )调用su ,但它抛出su: must be suid to work properly 。 我想这是因为su无法找到/etc/passwd/etc/shadow 。 好像我已完全搞砸了系统。

您的应用程序无法运行,因为他们想要查找库,而这些库也是错误的。 尝试直接使用busybox

 bin/busybox ls 

应该像ls工作。

让我们做另一种方法。 我假设你不知道真正的root密码。 以下是sudo需要的库列表:

 linux-vdso.so.1 => (0x00007ffea6be9000) libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fbbad17b000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fbbacf78000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbbacd74000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbbac9aa000) libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fbbac73d000) /lib64/ld-linux-x86-64.so.2 (0x00007fbbad5c5000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbbac51f000) 

这是sudo包中的文件列表(仅相关的文件):

 /lib /lib/systemd /lib/systemd/system /lib/systemd/system/sudo.service /usr /usr/lib /usr/lib/sudo /usr/lib/sudo/system_group.so /usr/lib/sudo/sudo_noexec.so /usr/lib/sudo/sudoers.so /usr/lib/sudo/group_file.so /usr/lib/sudo/sesh /usr/bin /usr/bin/sudoreplay /usr/bin/sudo 

尝试将库移动到二进制文件,放入同一文件夹。 可能它会起作用。 su具有较少的依赖性,但需要知道真正的root密码。