Directory mosse accidentalmente sotto la radice

Ho accidentalmente eseguito questo comando

sudo mv /* /applications/minced/ 

invece di

 sudo mv ./* /applications/minced/ 

Questo è tutto ciò che è rimasto nella directory principale

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

Ho ancora una connessione SSH triggers al server. Ho provato a chiamare mv , sudo e chmod … direttamente da /applications/minced/bin/ o /applications/minced/usr/bin/ , ma non funziona nulla, anche se posso trovarli lì usando il completamento automatico del percorso.

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

Ho letto Revert spostando la directory root in modo ricorsivo , ma montare il sistema sotto LiveCD non è un’opzione per me dal momento che è un VPS, non una macchina fisica. Qualche idea?

Aggiornare

Ho capito che questo è dovuto a problemi di link alla libreria, quindi l’ho fatto

 $ 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/* / 

Ovviamente mi sono imbattuto in problemi di authorization. La chiamata a sudo con il linker genera questo errore

 $ /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? 

Come suggerito da Barafu Albino, ho provato a chiamare su con busybox ( .../bin/busybox su - ), ma lancia su: must be suid to work properly . Immagino che questo succeda perché su non può localizzare /etc/passwd e /etc/shadow . Sembra che abbia rovinato completamente il sistema.

Le tue applicazioni non possono essere eseguite perché vogliono trovare le librerie e anche quelle sono fuori posto. Prova ad usare busybox direttamente.

 bin/busybox ls 

dovrebbe funzionare come ls e così via.

Facciamo un altro approccio. Presumo che tu non conosca la vera password di root. Ecco una lista di librerie che sudo ha bisogno di:

 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) 

Ecco una lista di file nel pacchetto sudo (solo quelli rilevanti):

 /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 

Prova a spostare le librerie sul binario, nella stessa cartella. Potrebbe essere che funzionerà. su ha meno dipendenze, ma richiede di conoscere la vera password di root.