आप कितनी दूर जा सकते हैं, यह मूल रूप से विशिष्ट यूनिक्स / लिनक्स वितरण पर निर्भर है।
लेकिन आपके आधार प्रश्न का उत्तर देने के लिए, हाँ - rm
कमांड को इसके साथ ही किसी अन्य मानक कमांड /bin
और अन्य फ़ोल्डरों में हटा दिया जाएगा ।
यहाँ सरल परीक्षण है जो मैंने लिनक्स उबंटू 15.04 में वीएम का उपयोग करके किया है।
वर्चुअल मशीन के माध्यम से आरंभ करें vagrant
:
vagrant init ubuntu/vivid64 && vagrant up --provider virtualbox && vagrant ssh
तब जब आप मानक तरीके से सभी फाइलों को हटाने की कोशिश कर रहे हैं, यह आपको नहीं होने देता है:
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
तो कोशिश करते हैं --no-preserve-root
। हमेशा वर्चुअल मशीन में लॉग इन करें (इसलिए आप कर रहे हैं vagrant@vagrant-ubuntu-vivid-64:~$
), फिर चलाएं (घर पर कोशिश न करें):
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
इसके बाद यह शेल प्रॉम्प्ट में वापस आ जाता है जैसे कुछ भी नहीं हुआ है, लेकिन आप अभी बनाए गए कुछ के अलावा किसी भी कमांड को निष्पादित नहीं कर सकते हैं kill
, इसलिए आप अपनी नौकरी समाप्त कर सकते हैं और अपने सत्र को मार सकते हैं :)
उदाहरण के लिए:
$ 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.
इसलिए इसने सभी चीजों को हटा दिया, जिसमें शामिल हैं rm
, ls
और अन्य सभी कमांड, लेकिन फिर भी आप लॉग-इन कर रहे हैं। कुछ विशेष फ़ोल्डर हैं, जिन्हें इस तरह के कुछ उपकरणों से हटाया नहीं गया था /dev
, /proc
या /sys
जो नियमित निर्देशिका / फाइलें नहीं हैं, लेकिन यह छद्म-फाइलसिस्टम है जो प्रक्रिया और कर्नेल डेटा को इंटरफेस प्रदान करता है।
यदि आपके पास वैग्रैंट या लिनक्स नहीं है, तो आप कुछ जावास्क्रिप्ट लिनक्स x86 एमुलेटर के साथ खेल सकते हैं ।
यदि आप ऐसी आपदा से उबरने की संभावनाओं में रुचि रखते हैं, तो जाँच करें: