Ne kadar rm -rf / root olarak gidebilirsin?


23

Kökseniz ve sorun yaşarsanız

rm -rf / 

O zaman komut ne kadar ileri gidebilir? Bu tür bir işlemden veri kurtarabilir misiniz? İkili dosyalar gittikten sonra bile, çalışan işlemler hala aktif olur mu? Aynı fiziksel makine önyüklemesini yeniden yapmak için ne gerekir? Bunun gerçekleşmesi için hangi dosyaları geri yüklemeniz gerekir?

Bunu bir VM'de deneyebilir ve görebilirim, ancak bunu yaparsam ne bekleyeceğinin mantığını bilmek istiyorum.



1
@Ste True, ancak kopyalanmadığı / yapıştırılmadığı sürece genellikle bırakmasına izin veriyoruz, çünkü diğer sitelerle bir miktar çakışıyoruz
Michael Mrozek

Yanıtlar:


21

Bu komut, en azından bu güvenlik özelliğinin ilk uygulandığı işletim sistemi (Solaris) üzerinde hiçbir şey yapmaz:

# rm -rf /
rm of / is not allowed

Diğer * nix'te, özellikle Linux ailesi, eğer yeterince yeni bir Gnu rm sağlanmışsa, --no-preserve-rootkomutun tamamlanmasını (veya en azından başlamasını) sağlamak için bir seçenek eklemeniz gerekir .

Bu komutun ne kadar ileri gideceği belirsizdir. Tahmin edilemeyecek pek çok olaya bağlı. Genellikle, işlemler ikili dosyaları kaldırıldıktan sonra bile çalışabilir.


5
İlk başta sana inanmadım, ama işte orada . Bu korkunç hatayı önlemek için 2005 (Sun / BSD) ve 2006 (GNU) 'ya kadar sürdüğüne inanmak zor.
amfetamachine

3
rm -rf /*ANYTHING
Felix Yan

1
Aslında, ancak bu durumda, rm çağrılmadan önce dosya genişletme işlemi kabuk tarafından yapıldığı için rm'nin (kolayca) yapabileceği bir şey yoktur.
jlliagre

4

Jlliagre'in mükemmel cevabı olsa bile, bunun hala oldukça tehlikeli bir şey olduğunu unutmayın. Gibi şeyler yapmadan önce daima nerede olduğunuzu kontrol edin rm -rf. rm -rf *Örneğin, / usr dizinindeyken yapmanız, felaket olur .

Diğer sorularınıza gelince, hemen hemen geri alabileceğiniz şey yedekleme prosedürlerinize bağlıdır. Çoğu * nix sisteminde, silindikten sonra dosyaları ve dizinleri kurtarmanın basit bir yolu yoktur. Silme işlemi yapıldıktan sonra dosyaların genellikle diskte olduğu eski DOS günlerinin aksine, bugünlerde çoğu sistem kurtarmayı çok zorlaştıran şeyler yapar. Bu, veri kurtarma servislerinin çok pahalı olmasının sebeplerinden biridir.

Bir VM kullanıyorsanız, en azından zaman zaman anlık görüntüler çekmenizi öneririm. Fakat iyi bir yedekleme planının ardından hiçbir şey yenemez.


2

Bazılarının söylediği gibi, hala bir sudo rm -rf /*şeyi kaldırmak için kullanabilirsiniz . Yıldız olmadan OS X üzerinde de çalışır. Birisi, OS X Yosemite'ı bu şekilde imha etmek için bir çekim yaptı ve Linux tabanlı işletim sisteminin de aynı şeyi yaşayacağına eminim.

İşler yavaş yavaş tepkisizleşmeye başlar. Süreç derken terminal donduğu için her şeyin silindiğini sanmıyorum, ama her şeyi dondurmak ve yeniden başlatmak için bir güç yeterliydi.

Yeniden başlatmaya çalışmak, açılış ekranı gibi tek kullanıcılı bir modda hatalara neden olur.


1
Bu biraz teselli verebilirse, sudo rm -rf /*içindeki gizli dosyaları ve dizinleri silmez /. Ayrıca başka bir bağlama noktasıyla maskelenmiş dosyaları, salt okunur dosya sistemlerinde ya da sözde dosya sistemlerinde, değişmez dosyaları veya bağlama noktalarında bulunan dosyaları silmek de başarısız olur.
Stéphane Chazelas

@ StéphaneChazelas Bu da çekimde görüntülendi. Salt okunur dosya sisteminde hatalar vardı. Her şeyi
silmemesine

2

Sadece Ubuntu 16 ve vmware iş istasyonlarını denedim ve no-root korumasız seçeneği ile çalışan linux sistemimin tüm diskini sildim. Bundan sonra tüm vmware iş istasyonu uygulaması kullanılamaz şekilde dengesiz hale geldi ve sanal makineyi uygulamadan kapatıp hatta sıfırlamak bile mümkün değildi. Vmx'in öldürülmesi, bundan sonra sadece bir ana bilgisayar yeniden başlatması reddedildi!


Güzel! :) Birinden duymayı umduğum şey buydu.
Sudipta Chatterjee

1

Kişi, sistemini rm -rf /kök olarak çıkararak basitçe yok edemez . Başlangıçta, komut kullanımını sınırlar hata emniyetli modu altında verilecektir rmüzerinde /ancak bile --no-preserve-rootbir argüman olarak, çalışan sistem diskten çalışan işlem çıkarılmasına izin vermez; ancak, programların ve dosyaların geri kalanı kaldırılacak ve çalıştırılamaz bir sistem (neredeyse) çalıştırılacak program kalmayacak! Lütfen burada görüntülenen ekran görüntülerini kontrol edin, komut Virtual Linux'ta Arch Linux'ta verildi: http://bit.ly/q9CsA4


Fotoğrafları bir yere yükleyebilir misin? Bir tar indirmek, tüm dosyaları açmak ve görüntülemek, çoğu insanın yapacağı bir şey değildir. Oh ve URL kısaltıcılara SE'de izin verilmiyor, her zaman gerçek bağlantıyı kullanın
TheLQ

3
Sen yazdın: "çalışan sistem diskten çalışan işlemleri kaldırmak için izin vermeyecek". * Nix’e gelince, bu yanlış. Bu sınırlama Windows'ta bulunmaktadır, ancak Unix / Linux'taki dosyaları (unlink) kaldırabilirler.
jlliagre

2
"... çalışan sistem diskten çalışan işlemleri kaldırmaya izin vermiyor ..." Bu, korkarım, doğru değil - örneğinizde silinemeyen dosyalar gerçekten gerçek 'dosyalar' değil - blok aygıtlarına, çekirdek modüllerine ve diğer dahili sistemlere erişim sağlarlar. Üzerlerine silme işlemi yapmak anlamsızdır ve olduğu gibi bile yapılamaz root.
Nathan Osman

İşte çevrimiçi galeride paylaşılan Abhisek fotoğrafları : min.us/mSQcqHGQA min.us/moyPvnYOw ( TheLQ'nin isteği üzerine)
Artem Pelenitsyn 08:11
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.