पासवर्ड न जानने से चीजें जटिल हो जाती हैं, लेकिन शायद समाधान यह है: क्या उपयोगकर्ता के पासवर्ड को अस्थायी रूप से खाली करना संभव है? (और बाद में इसे पहले जो कुछ भी है उसे रीसेट करें।)
एक शुरुआत के रूप में:
सबसे पहले, लॉगिन विंडो प्रदर्शित करने के लिए प्राप्त करें। बस वर्तमान उपयोगकर्ता को लॉग आउट करें, तेज़ उपयोगकर्ता स्विचिंग का उपयोग करें, या SSH का उपयोग करें:
सीडी "/ प्रणाली / पुस्तकालय / CoreServices / मेनू अतिरिक्त / User.menu / सामग्री / संसाधन /"
sudo ./CGSession -suspend
या, तुरंत किसी विशिष्ट उपयोगकर्ता पर स्विच करने के लिए, जो शायद लॉगिन विंडो दिखाएगा (यह अचानक मेरे 10.5 तेंदुए पर काम नहीं करता है):
sudo ./CGSession -switchToUserID 501
अब जो दिखाया गया है वह सिस्टम प्रेफरेंस पर थोड़ा निर्भर करता है, लेकिन मान लें कि यह यूजर्स के आइकॉन और उनके नाम हैं। एक नाम को सक्रिय करने के लिए हमें पहले अक्षर लिखने होंगे। फिर, रिटर्न के बाद, पासवर्ड संकेत दिखाता है। वैकल्पिक रूप से कोई भी नाम चुन सकता है (जैसे एरो डाउन दबाकर) और फिर किसी भी उपयोगकर्ता नाम और पासवर्ड के लिए संकेत दिए जाने वाले विकल्प-रिटर्न को दबाएं । मुझे नहीं पता कि कोई कैसे बता सकता है कि कौन सी स्क्रीन दिखाई गई है, लेकिन चलो बाद के लिए इसे बचाएं ...
तो, पहले (यादृच्छिक) उपयोगकर्ता नाम का चयन करने के लिए और विकल्प-वापसी दबाएं, एक विशिष्ट उपयोगकर्ता नाम टाइप करें, रिटर्न भरें, और पासवर्ड टाइप करें:
sudo osascript -e 'ऐप बताएं "सिस्टम इवेंट्स"
कुंजी कोड 125
नीचे विकल्प का उपयोग करके कीस्ट्रोक वापस करें
कीस्ट्रोक "उपयोगकर्ता नाम"
देरी 1.0
कीस्ट्रोक वापसी
देरी 1.0
कीस्ट्रोक "पासवर्ड"
देरी 1.0
कीस्ट्रोक वापसी
अंत बताओ '
उपरोक्त कुछ त्रुटि दिखाती है, जो जहाँ तक मैं बता सकता हूँ उपयोग को सीमित नहीं करता है:
ऑसस्क्रिप्ट [285]: ३16 ९ १६१२: (कनेक्टएंडचेक) अविश्वासित ऐप्स नहीं हैं
लॉगिन से पहले विंडो सर्वर से कनेक्ट या लॉन्च करने की अनुमति दी गई है।
_RegisterApplication (), डिफ़ॉल्ट कनेक्शन को स्थापित करने में विफल
विंडोस्वर, _CGSDefaultConnection () NULL है।
वैकल्पिक रूप से, " स्क्रिप्ट को लॉगिन विंडो से Apple रिमोट डेस्कटॉप के माध्यम से भाषा विशिष्ट स्क्रिप्ट का उपयोग करें " (हो सकता है कि एक दिन उस साइट पर टिप्पणियां बेहतर समाधान दिखाएंगी):
प्रक्रिया "SecurityAgent" बताएं
"उपयोगकर्ता नाम" के लिए विंडो 1 के समूह 1 के पाठ क्षेत्र 1 का मान सेट करें
"पासवर्ड" के लिए विंडो 1 के समूह 1 के टेक्स्ट फ़ील्ड 2 का मान सेट करें
अंत बताओ
आवेदन प्रक्रिया "SecurityAgent" के बटन 1 पर "लॉग इन" बटन पर क्लिक करें
लेकिन मुख्य समस्या यह है: इसके लिए अभी भी पासवर्ड की आवश्यकता है । हालाँकि: स्पष्ट रूप से कोई पासवर्ड की आवश्यकता नहीं है जब उपयोगकर्ता के पास खाली पासवर्ड हो। वास्तव में, खाली पासवर्ड के लिए सिर्फ एक उपयोगकर्ता के आइकन पर क्लिक करना आवश्यक है। इसलिए, यदि AppleScript का उपयोग करके कीस्ट्रोक्स भेजना स्वीकार्य है, तो हो सकता है कि "सभी" जो कि पता लगाना बाकी है:
क्या उपयोगकर्ता के पासवर्ड को अस्थायी रूप से खाली करना संभव है, उस पासवर्ड को जाने बिना सत्र शुरू करने (या फिर से शुरू करने) की अनुमति देने के लिए ...?
क्या कोई AppleScript त्रुटि-प्रमाण बना सकता है? पसंद:
- लॉगिन विंडो दिखाई दे तो कैसे बताएं ? (शायद
stat -f%Su /dev/console
मदद कर सकते हैं, क्योंकि पैदावारroot
खिड़की प्रदर्शित होने पर पैदावार होती है)
- कैसे बताएं कि कौन सी लॉगिन विंडो दिखाई गई है? (जैसे: कोई आइकन और लॉगिन नाम, या ड्रॉपडाउन सूची दिखा रहा है, या शायद केवल एक पासवर्ड प्रॉम्प्ट यदि कोई व्यक्ति किसी अन्य उपयोगकर्ता पर स्विच करने के लिए चुना गया है?)
- देरी से छुटकारा।
- उस त्रुटि संदेश के बारे में क्या?
(परीक्षण के लिए एक नोट: स्क्रीन शेयरिंग का उपयोग करते समय ऐसा लगता है कि वरीयताएँ निर्धारित करते समय कंप्यूटर को नियंत्रित करना: पासवर्ड और कीस्ट्रोक को एन्क्रिप्ट करना केवल लॉगिन विंडो दिखाए जाने पर या उपयोगकर्ता द्वारा सफलतापूर्वक लॉग-इन करने के बाद भी कनेक्शन को बनाए रखता है। जब सभी नेटवर्क का उपयोग करें एन्क्रिप्ट करें । डेटा तब मेरे मैक को हर बार स्क्रीन शेयरिंग कनेक्शन को फिर से स्थापित करने की आवश्यकता होती है जब कोई लॉगिन दिखाया जाता है या उपयोगकर्ता स्विच किया जाता है।)