क्या x विफल लॉगिन प्रयासों के बाद मेरे SSD को स्वचालित रूप से प्रारूपित / हटाने का कोई तरीका है?


9

IOS पर 10 विफल लॉगिन प्रयासों के बाद डिवाइस को सभी डेटा को हटाने का विकल्प है। मैकओएस पर मेरे पास एक ही विकल्प कैसे हो सकता है ताकि मेरे उपयोगकर्ता खाते में लॉग इन करने में x विफल होने के बाद मेरा SSD हट जाए / सुधार हो जाए?

जवाबों:


6

ऑन-बोर्ड टूल (और "Find my Mac" और "iCloud के माध्यम से मेरे मैक को दूरस्थ रूप से मिटाएं" जैसी बाहरी सेवाओं का उपयोग किए बिना) diskutil ...डिस्क की व्यस्तता के कारण बूट वॉल्यूम को मिटाना या सुधारना असंभव है


यद्यपि आप अपना उपयोगकर्ता फ़ोल्डर निकाल सकते हैं:

नीचे दी गई विधि एक पासवर्ड नीति का उपयोग करती है और उपयोगकर्ता लॉगिन क्षमताओं की स्थिति पर निर्भर करती है, एक लॉन्च डेमॉन और डेमॉन द्वारा आमंत्रित एक बैश स्क्रिप्ट उपयोगकर्ता फ़ोल्डर को हटा देगा।

  1. अपने डेस्कटॉप पर एक पासवर्ड नीति बनाएं

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>policyCategoryAuthentication</key>
        <array>
            <dict>
                <key>policyContent</key>
                <string>(policyAttributeFailedAuthentications &lt; policyAttributeMaximumFailedAuthentications) or (policyAttributeCurrentTime &gt; policyAttributeLastFailedAuthenticationTime + autoEnableInSeconds)</string>
                <key>policyIdentifier</key>
                <string>com.apple.maximumFailedLoginAttempts</string>
                <key>policyParameters</key>
                <dict>
                    <key>autoEnableInSeconds</key>
                    <integer>31536000</integer>
                    <key>policyAttributeMaximumFailedAuthentications</key>
                    <integer>10</integer>
                </dict>
            </dict>
        </array>
    </dict>
    </plist>
    

    31536000 सेकंड (= एक वर्ष) के लिए 10 असफल लॉगिन प्रयासों के बाद उपयोगकर्ता लॉगिन क्षमताओं को अक्षम कर दिया जाएगा।

  2. एक बैश स्क्रिप्ट बनाएं rmuserdir.sh :

    #!/bin/bash
    
    PWPOL=$(pwpolicy -u username authentication-allowed)
    
    if [[ $PWPOL == 'User <username> is not allowed to authenticate: Failed global policy "com.apple.maximumFailedLoginAttempts"'  ]]
    
    then rm -fR /Users/username
    
    fi
    

    in / usr / स्थानीय / बिन / और इसे निष्पादन योग्य बनाते हैं। अपने उपयोगकर्ता के नाम के साथ स्ट्रिंग उपयोगकर्ता नाम बदलें लेकिन अगर विवरण में कोण कोष्ठक रखें!

  3. एक लॉन्च डेमन org.userdirrm.plist in / Library / LaunchDaemons / सामग्री के साथ बनाएं :

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>org.userdirrm</string>
        <key>ProgramArguments</key>
        <array>
            <string>/bin/bash</string>
            <string>/usr/local/bin/rmuserdir.sh</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>StandardErrorPath</key>
        <string>/tmp/org.userdirrm.stderr</string>
        <key>StandardOutPath</key>
        <string>/tmp/org.userdirrm.stdout</string>
        <key>StartInterval</key>
        <integer>60</integer>
    </dict>
    </plist>
    

    फ़ाइल मालिक और समूह को रूट होना चाहिए: पहिया और फ़ाइल अनुमतियाँ 644 होनी चाहिए। डेमॉन प्रत्येक 60 सेकंड चलेगा। आप इसे प्रमुख StartInterval में पूर्णांक बदलकर ट्वीक कर सकते हैं ।

  4. पासवर्ड नीति आयात करें:

    pwpolicy setaccountpolicies ~/Desktop/pwpolicy.plist
    

    आपको अपना (प्रमाणक = व्यवस्थापक) पासवर्ड डालना होगा।

  5. डेमॉन लॉन्च करें:

    sudo launchctl load /Library/LaunchDaemons/org.userdirrm.plist
    

आप एक स्टब उपयोगकर्ता बनाकर सेट-अप का परीक्षण कर सकते हैं, बैश स्क्रिप्ट में उपयोगकर्ता नाम अस्थायी रूप से बदल सकते हैं और इस स्टब उपयोगकर्ता के साथ लॉगिन करने की कोशिश कर रहे गलत पासवर्ड दर्ज कर सकते हैं। आप परीक्षण को छोटा करने के लिए पासवर्ड नीति में विफल लॉगिन प्रयासों की संख्या को अस्थायी रूप से 3 तक कम कर सकते हैं।

बदलाव:

  • शेल स्क्रिप्ट में (rm) -P विकल्प जोड़ना:

    उन्हें हटाने से पहले नियमित फ़ाइलों को अधिलेखित करें। फ़ाइलों को तीन बार अधिलेखित किया जाता है, पहले बाइट पैटर्न 0xff के साथ, फिर 0x00, और फिर 0xff फिर से हटाए जाने से पहले।

  • अपने उपयोगकर्ता फ़ोल्डर के बजाय रूट फ़ोल्डर को निकालने की कोशिश कर रहा है:

    rm -fR /
    

    या

    rm -fRP /
    

    SIP संरक्षित फ़ाइलें नहीं हटाई जाएंगी / अधिलेखित की जाएंगी! उन्हें भी हटाने / हटाने के लिए, आपको एसआईपी को निष्क्रिय करना होगा।

  • एक पुराने ओएस एक्स स्थापित से बाइनरी एसआरएम प्राप्त करने की कोशिश करें , इसे उच्च सिएरा में जोड़ें और आरएम के बजाय बैश स्क्रिप्ट में इसका उपयोग करें । बाइनरी एसआरएम सुरक्षित रूप से फ़ाइलों या निर्देशिकाओं को हटा देता है। man srmआगे के विकल्पों की जाँच करें (मैंने यह परीक्षण नहीं किया है)।

मेरी राय में, ऊपर उल्लिखित विधि को एकल उपयोगकर्ता मोड में बूट करके, ऑक्टेंड्रायड को लॉन्च करने के साथ ही लॉन्च किया जा सकता है pwpolicy -clearaccountpolicies

इसलिए डिस्क या फोल्डर को "सिक्योरिटी हासिल करने" के लिए फॉर्मेट या मिटाना अनुशंसित नहीं है। इसके बजाय FileVault2 के साथ अपने मुख्य वॉल्यूम को एन्क्रिप्ट करें और सभी उपयोगकर्ताओं के लिए अच्छे पासवर्ड का उपयोग करें।


कुल में 10 असफल लॉगिन प्रयास? क्या यह लगातार दस बार हो सकता है?
आंद्रे अरुजो

@AndreAraujo बस इसे एक स्टब उपयोगकर्ता के साथ परीक्षण ;-)
klanomath

मैंने अभी किया! ये अच्छी तरह काम करता है! धन्यवाद!
आंद्रे अरुजो

@AndreAraujo यदि आपके पास एक बहुत ही छोटा पास है और इसे दर्ज करना और रिटर्न कुंजी मारना एक सेकंड लगता है, तो आपको उपयोगकर्ता फ़ोल्डर को हटाए जाने तक 50 सेकंड तक इंतजार करना पड़ सकता है। Rmuserdir.sh हर 60 सेकंड केवल चलाता है ... और 60 सेकंड - 10 एक्स 1 सेकंड = 50 सेकंड।
कालोनोमठ

मैंने एक स्टब उपयोगकर्ता के साथ कई मामलों का परीक्षण किया, अब मैं अपने उपयोगकर्ता के लिए चालू करता हूं। लेकिन मैंने कुछ कॉन्फिगर बदले, 600 सेकंड (10 मिनट) में जॉब और 84600 सेकंड्स के साथ ऑटोइन्फेक्टेबल। इसलिए, अगर मेरी बेटी या मेरी पत्नी ने गलती से कुछ करने की कोशिश की है, तो अभिनय करने के लिए कुछ समय है!
आंद्रे अरुजो ३
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.