कैसे रोकें 'sudo rm -rf /'


10

कुछ समय बाद मैंने गलती से कमांड को अंजाम दिया है sudo rm -rf /

क्या कोई तरीका है कि मुझे इस कमांड को चलाने से कैसे रोका जाए? उदाहरण के लिए क्या मैं किसी तरह से सूडर्स फाइल का उपयोग कर इसे निष्क्रिय कर सकता हूं?


2
आप गलती से इस कमांड को कैसे टाइप करते हैं और फिर इसे निष्पादित करते हैं ??
fnord_ix

अगर मैं इस तरह एक कमांड में टाइप करता हूं। sudo rm -rf / Applications/chess.app/ और A. के बीच की जगह को नोटिस करें कि कैसे
iProgram

जवाबों:


14

आप जैसे लाइन जोड़ सकते हैं

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

sudoersविशिष्ट विकल्पों के साथ कमांड के निष्पादन को रोकने के लिए आपकी फ़ाइल पर।

या, यदि आप कई आदेशों को बाहर करना चाहते हैं, तो आप कमांड उपनाम के साथ काम कर सकते हैं

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

आप इसका उपयोग करके इसे सुरक्षित चलाने का प्रयास भी कर सकते हैं

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

लेकिन वहां अभी भी अन्य तरीकों से आप पैर में खुद को गोली मार कर सकते हैं हो सकता है के साथ rmतो सावधान रहना होगा वैसे भी।

लेकिन ध्यान रखें कि सभी मिलान कमांड के पूर्ण स्ट्रिंग पर किया जाता है, इसलिए sudo rm -rf /Volumesअभी भी काम करेगा (जैसा होगा cd /; sudo rm -rf .)।

पुनश्च: हर तरह से, उपयोग sudo visudoसंपादित करने के लिए sudoersफ़ाइल और कभी यह सीधे संपादित करें

PPS: मैंने स्पष्ट रूप से इसके साथ rm(केवल /bin/echoइसके बजाय) परीक्षण नहीं किया


टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
bmike

6

मुझे पता है कि आपने इस तरह से प्रश्न को स्पष्ट कर दिया है जिससे मुझे संदेह है कि आप इस उत्तर को नहीं सुनना चाहते हैं, लेकिन आपको वास्तव में sudoers फ़ाइल से खुद को हटा देना चाहिए, यदि आप एक ही गलती को बार-बार करने की संभावना रखते हैं।

अंतर्निहित समस्या यह है कि आपको rmकूड़ेदान में स्थानांतरित करने के लिए सचेत नहीं किया गया है (जो स्पष्ट रूप से आप वर्तमान में और अतीत में इसका उपयोग कैसे कर रहे हैं) या अन्यथा मजबूर rm -rकिया जाना चाहिएrm -ri

alias rm='/bin/rm -i'

आप हमेशा command rm -rf whateverदो बार उपाय करने पर अपने दिमाग को प्रशिक्षित करने के लिए उपनाम के आसपास प्राप्त कर सकते हैं , rm -rfउपयोग के लिए एक बार कटौती की आवश्यकता होती है ।


उस टिप के लिए धन्यवाद। मैं छिपा हुआ व्यवस्थापक खाता बनाने के लिए सोच रहा था (केवल टर्मिनल तक पहुँचने के लिए) और केवल सामान्य उपयोग के लिए एक मानक खाता। मैं रैपर को कूड़ेदान में स्थानांतरित करने के लिए भी बना सकता था। उस टिप के लिए धन्यवाद। मुझे लगता है कि सूडो को रोकना एक सुरक्षित कदम हो सकता है। मैं अभी भी सुनिश्चित करूंगा कि मैं इसे छिपे हुए एडमिन में लॉग इन करके एक्सेस कर सकूं।
iProgram

चिह्नित नहीं किया गया है जैसा कि उत्तर दिया गया है क्योंकि यह ऊपर का जवाब नहीं देता है। यह अभी भी अच्छी सलाह है
iProgram
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.