'Sudo rm -rf /' nasıl engellenir


10

Birkaç kez yanlışlıkla komutu yerine getirdim sudo rm -rf /.

Bu komutu çalıştırmamı engellememin bir yolu var mı? Örneğin sudoers dosyasını kullanarak bir şekilde devre dışı bırakabilir miyim?


2
Bu komutu yanlışlıkla nasıl yazıp yürütürsünüz?
fnord_ix

Eğer böyle bir komut yazarsam. sudo rm -rf / Applications/chess.app/ Ve A arasındaki boşluğa dikkat edin. İşte böyle
iProgram

Yanıtlar:


14

Gibi bir satır ekleyebilirsiniz

%admin ALL = !/bin/rm -rf /

sudoerskomutunun belirli seçeneklerle yürütülmesini önlemek için dosyanıza.

Veya, birden fazla komutu hariç tutmak istiyorsanız, komut diğer adlarıyla çalışabilirsiniz

Cmnd_Alias DANGEROUS_CMNDS=/bin/rm -rf /, /bin/rm -fr /
%admin ALL=!DANGEROUS_CMNDS

Bunu kullanarak güvenli bir şekilde oynatmayı da deneyebilirsiniz

Cmnd_Alias DANGEROUS_CMNDS=/bin/rm -rf /, /bin/rm -fr /, /bin/rm / *, /bin/rm * /, /bin/rm -rf / *, /bin/rm -rf * /, /bin/rm -fr / *, /bin/rm -fr* /
%admin ALL=!DANGEROUS_CMNDS

ama yine de kendinizi ayağından vurmanın başka yolları olabilir, rmbu yüzden yine de dikkatli olun .

Ancak, tüm eşleştirmenin komutun tam dizesinde yapıldığını unutmayın, bu yüzden sudo rm -rf /Volumesyine de (olduğu gibi cd /; sudo rm -rf .) işe yarayacaktır .

Not: Elbette sudo visudo, sudoersdosyayı düzenlemek için kullanın ve ASLA doğrudan düzenleme yapmayın

PPS: Bunu açıkça test etmedim rm(sadece /bin/echobunun yerine)


Yorumlar uzun tartışmalar için değildir; bu görüşme sohbete taşındı .
bmike

6

Soruyu, bu yanıtı duymak istemediğinizden şüphelenecek şekilde ifade ettiğinizi biliyorum, ancak aynı hatayı tekrar tekrar yapmaya eğilimliyseniz kendinizi gerçekten sudoers dosyasından kaldırmalısınız.

Altta yatan sorun, rmçöp kutusuna taşınmak (diğer bir deyişle şu anda ve geçmişte açıkça kullandığınız) veya başka bir rm -rşekilderm -ri

alias rm='/bin/rm -i'

command rm -rf whateverİki kez ölçün, rm -rfkullanım için bir kez kesilmesi gerektiğinde aklınızı eğittikten sonra her zaman takma adla dolaşabilirsiniz .


Bu ipucu için teşekkürler. Ben sadece gizli kullanım hesabı (sadece terminal erişmek için) ve sadece normal kullanım için standart bir hesap yapmak düşünüyordum. Sarıcıyı çöp kutusuna da taşıyabilirim. Bu ipucu için teşekkürler. Sudo'yu önlemenin daha güvenli bir adım olabileceğini düşünüyorum. Yine de gizli yöneticiye giriş yaparak erişebileceğimden emin olacağım.
iProgram

Yukarıdakilere cevap vermediği için işaretlenmemiş olsa da cevaplanmıştır. Yine de bu iyi bir tavsiye
iProgram
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.