Bạn có thể nhận được bao xa, về cơ bản phụ thuộc vào các bản phân phối Unix / Linux cụ thể.
Nhưng để trả lời câu hỏi cơ bản của bạn, có - rm
lệnh sẽ bị xóa cùng với nó cũng như bất kỳ lệnh tiêu chuẩn nào khác trong /bin
và các thư mục khác.
Đây là bài kiểm tra đơn giản mà tôi đã thực hiện trong Linux Ubuntu 15.04 bằng VM.
Khởi tạo máy ảo thông qua vagrant
:
vagrant init ubuntu/vivid64 && vagrant up --provider virtualbox && vagrant ssh
Sau đó, khi bạn đang cố xóa tất cả các tệp theo cách tiêu chuẩn, nó không cho phép bạn:
vagrant@vagrant-ubuntu-vivid-64:~$ sudo rm -fr /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe
Vậy hãy thử xem --no-preserve-root
. Luôn kiểm tra kỹ bạn đã đăng nhập vào máy ảo (vì vậy bạn đang có vagrant@vagrant-ubuntu-vivid-64:~$
), sau đó chạy (không thử điều đó ở nhà):
vagrant@vagrant-ubuntu-vivid-64:~$ sudo rm -vfr --no-preserve-root /
removed directory: '/lost+found'
removed directory: '/opt'
removed '/bin/nc'
removed '/bin/less'
removed '/bin/wdctl'
removed '/bin/nano'
...
removed '/bin/rmdir'
removed '/bin/sh'
removed '/bin/rm'
...
removed directory: '/bin'
removed directory: '/usr/games'
removed '/usr/bin/byobu-launcher-install'
removed '/usr/bin/ipcmk'
removed '/usr/bin/sum'
removed directory: '/usr/bin'
removed '/usr/lib/gcc/x86_64-linux-gnu/4.9.2'
removed '/usr/lib/gcc/x86_64-linux-gnu/5.0.1'
removed directory: '/usr/lib/gcc/x86_64-linux-gnu/5'
removed '/usr/lib/gcc/x86_64-linux-gnu/4.9/libquadmath.so'
removed '/usr/lib/gcc/x86_64-linux-gnu/4.9/libgomp.so'
...
removed directory: '/run/initramfs'
removed directory: '/media'
rm: cannot remove '/proc/fb': Operation not permitted
rm: cannot remove '/proc/fs/ext4/sda1/options': Operation not permitted
...
removed '/vmlinuz'
removed '/boot/config-3.19.0-23-generic'
removed '/boot/grub/grubenv'
...
removed directory: '/boot'
removed '/lib64/ld-linux-x86-64.so.2'
rm: cannot remove '/dev/hugepages': Device or resource busy
rm: cannot remove '/dev/mqueue': Device or resource busy
rm: cannot remove '/dev/shm': Device or resource busy
removed '/dev/vcsa7'
...
removed '/dev/mem'
removed '/dev/rfkill'
removed '/dev/vga_arbiter'
...
rm: cannot remove '/sys/fs/ecryptfs/version': Operation not permitted
removed directory: '/etc'
removed directory: '/mnt'
removed '/vagrant/.vagrant/machines/default/virtualbox/action_provision'
removed '/vagrant/.vagrant/machines/default/virtualbox/action_set_name'
removed '/vagrant/.vagrant/machines/default/virtualbox/creator_uid'
removed '/vagrant/.vagrant/machines/default/virtualbox/id'
removed '/vagrant/.vagrant/machines/default/virtualbox/index_uuid'
removed '/vagrant/.vagrant/machines/default/virtualbox/private_key'
removed '/vagrant/.vagrant/machines/default/virtualbox/synced_folders'
removed directory: '/vagrant/.vagrant/machines/default/virtualbox'
removed directory: '/vagrant/.vagrant/machines/default'
removed directory: '/vagrant/.vagrant/machines'
removed directory: '/vagrant/.vagrant'
removed '/vagrant/Vagrantfile'
rm: cannot remove '/vagrant': Device or resource busy
Sau đó, nó trở lại dấu nhắc shell như không có gì xảy ra, nhưng bạn không thể thực hiện bất kỳ lệnh nào nữa ngoài vài lệnh được tích hợp và kill
để bạn có thể hoàn thành công việc của mình và giết phiên của mình :)
Ví dụ:
$ rm
rm: command not found
$ kill
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
$ which kill
-bash: /usr/bin/which: No such file or directory
$ kill -9 $$
Connection to 127.0.0.1 closed.
Vì vậy, nó khá loại bỏ tất cả mọi thứ, bao gồm cả rm
, ls
và tất cả các lệnh khác, nhưng bạn vẫn đang đăng nhập. Có một số thư mục đặc biệt mà không phải đã được gỡ bỏ như một số thiết bị từ /dev
, /proc
hoặc /sys
được không các thư mục thường xuyên / file, nhưng nó giả hệ thống tập tin cung cấp giao diện để xử lý và dữ liệu hạt nhân.
Nếu bạn không có Vagrant hoặc Linux, bạn có thể chơi với một số trình giả lập JavaScript Linux x86 .
Nếu bạn quan tâm đến khả năng phục hồi sau thảm họa đó, hãy kiểm tra: