LaunchAgents और डेमॉन को रोकना


23

मैं कॉलेज के माहौल में एडमिन का काम करता हूं। सीएस प्रमुख के साथ छात्रों द्वारा स्थापित सेवाओं को रोकना एक चुनौती है। कुछ समय पहले उन्हें एडमिन एक्सेस और कुछ सिस्टम पर लॉन्च एजेंट और डेमॉन स्थापित किए गए थे। छात्रों ने com.apple.myprog.run के रूप में कुछ प्लिस्ट भी जोड़े हैं। समस्या यह है कि ये लॉन्चगेंट्स डायरेक्टरी या लॉन्चडैमन्स डायरेक्टरी में मौजूद नहीं हैं।

तो मेरा सवाल यह है कि इन डेमन सेवाओं के लिए रास्ता कैसे निकाला जाए। फिर अगला कदम यह है कि इनको कैसे रोका जाए। चूंकि इनमें से कुछ फिर से शुरू हो सकते हैं (कुछ झंडे के आधार पर)।


इसी तरह की समस्या। के साथ शुरू किया गया था एक डेमन रोक नहीं सकता launchctl load -wF /Library/LaunchDaemons/name.of.this.plist
मुल्तेमी

जवाबों:


21

यदि आप इस बूट के लिए आइटम को रोकना चाहते हैं तो केवल लॉन्च करने के लिए अनलोड कमांड जारी करें launchctl। स्थाई फिक्स के लिए, वैल्यू ट्रू के साथ प्लिस्ट में एक अक्षम कुंजी जोड़ें या फ़ाइल को एक फ़ोल्डर में हटा दें / ले जाएँ जहाँ लॉन्चड अपने आप स्कैन नहीं करेगा।

  • launchctl unload /System/Library/LaunchAgents/com.apple.AppStoreUpdateAgent.plist

लॉन्चर के मैन पेज में नौकरियों को नियंत्रित करने के लिए अच्छे दस्तावेज हैं। सीएस मेजर को हराने के लिए, आप यह भी विचार कर सकते हैं कि उन्होंने मौजूदा सेब के पौधों को संपादित करके उन्हें कुछ ऐसा करने के लिए कहा, जिसकी आपको उम्मीद नहीं है, इसलिए यह केवल ओएस को फिर से स्थापित करने और उपयोगकर्ता डेटा को वापस लाने के लिए बहुत आसान साबित होगा। किसी बैकअप (/ सिस्टम / लाइब्रेरी, / लाइब्रेरी स्पेस (और शायद एडमिन यूज़र्स के ~ / लाइब्रेरी को ऑडिट भी करता है) में किसी भी फाइल को री-इंस्टॉल करने के लिए विशेष नोट देने के लिए भुगतान करना। किसी ऐसे व्यक्ति के खिलाफ एडमिन / रूट खोना जो जानता है कि कैसे बदलना है। सिस्टम मूल रूप से खेल खत्म हो गया है और बचाव (खोजने और अक्षम करने) में परिवर्तन को अपराध के रूप में लेने में बहुत समय लगता है (सिस्टम को एक अच्छे स्रोत से पुनर्स्थापित करना और परिवर्तित फ़ाइलों का पता लगाने के लिए कॉन्फ़िगरेशन प्रबंधन टूल का उपयोग करना)।


मुद्दा यह है कि मुझे नहीं पता कि प्लिस्ट को कहाँ संग्रहीत किया गया है। मैं LaunchAgents निर्देशिका में खोज की है और मैं क्षुधा वहाँ plist नहीं देखते हैं।
प्रशांत

वे कहीं भी हो सकते हैं। आप सुरक्षित मोड में बूट कर सकते हैं और एक लॉन्चर लिस्ट आउटपुट की तुलना सामान्य बूट सूची से कर सकते हैं। mdfind आपको दुष्ट नौकरियों वाली फाइलें दिखाएगा (यदि उन्होंने उन्हें स्पॉटलाइट से बाहर नहीं किया था)। आप सैद्धांतिक रूप से खुद को लॉन्च करने के खिलाफ fs_usage चला सकते हैं, यह ट्रैक करने के लिए कि कौन सी फाइल बूट के दौरान पढ़ी जाती है, लेकिन फिर से fs_usage प्राप्त करने की लॉजिस्टिक्स चल रही है जो कि बूट पर जल्द ही इस तथ्य के साथ संयुक्त हो जाती है कि आपको अभी भी प्रत्येक और हर plist का निरीक्षण करने की आवश्यकता है, जिसका मतलब है कि आपके पास बहुत कुछ है "परिवर्तन का पता लगाने और शल्यचिकित्सा से उन्हें हटाने" के रूप में काम करने के लिए काट दिया गया।
bmike

1
यदि आप वास्तव में सिस्टम पर हर .plist को ढूंढना चाहते हैं तो वह यह कर देगा। यह एक लंबी सूची है। find / -type f -name "*.plist"
अफ्रीकी

man launchctl अनलोड करें पिछले संस्करणों में, यह विकल्प कॉन्फ़िगरेशन फ़ाइल को संशोधित करेगा। अब डिसेबल्ड कुंजी की स्थिति डिस्क पर कहीं और संग्रहीत की जाती है। .. (
नैकिलोन

@Nakilon क्या आप संस्करणों के बारे में सटीक हो सकते हैं? क्या आप लॉन्च के 10.11 ओवरहाल या किसी अन्य "पिछले संस्करण" की बात कर रहे हैं?
bmike

17

ऐसा करने का सबसे आसान तरीका है

sudo launchctl list | grep "rough name of what you want to find"
sudo launchctl remove "label.of.the.file"

धन्यवाद, यह वही है जो मैं चाहता था। फाइल डिलीट करने के बाद सर्विस को कैसे डिलीट करें!
chmac

2

इन स्थानों की जाँच करने का प्रयास करें:

/ उपयोगकर्ता / आपका उपयोगकर्ता नाम / पुस्तकालय / LaunchAgents /

/ Library / LaunchAgents /

/ Library / LaunchDaemons /

/ सिस्टम / लाइब्रेरी / LaunchAgents /

/ सिस्टम / लाइब्रेरी / LaunchDaemons /


1

आप एक "लॉन्चक्टल डंपस्टेट" कर सकते हैं और यह सभी भरी हुई सेवाओं और स्टार्टअप .plist और सामग्री को रास्ता दिखाएगा।

आप शायद इसे कम से कम कुछ के माध्यम से चलाना चाहेंगे क्योंकि यह बहुत सारी जानकारी को कम कर देता है।

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