बिना रूट अनुमति के पावर बटन कंप्यूटर को कैसे बंद करता है?


36

जब मैं कंप्यूटर को कमांड लाइन या टर्मिनल से बंद करने की कोशिश करता हूं तो मेरे पास रूट विशेषाधिकार होना चाहिए:

amy@amy:~$ shutdown now
shutdown: Need to be root

तथा

amy@amy:~$ halt
halt: Need to be root

लेकिन जब ग्राफिकल यूजर इंटरफेस यानी शटडाउन बटन, या हार्डवेयर शटडाउन बटन का उपयोग बंद कर दिया जाता है, तो मुझे ऐसा करने के लिए पासवर्ड नहीं मांगा जाता है। ग्राफ़िकल इंटरफ़ेस के लिए वह शटडाउन क्या करता है, और इसे पासवर्ड या रूट विशेषाधिकारों की आवश्यकता क्यों नहीं है?

मैं Ubuntu 11.04 नेट्टी का उपयोग कर रहा हूं।



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

जवाबों:


33

हार्डवेयर पावर बटन एक एसीपीआई घटना को ट्रिगर करता है जो acpid(एसीपीआई डेमन) नोटिस और प्रतिक्रिया करता है; इस मामले में सिस्टम को बंद करके, हालाँकि आप जो चाहें कर सकते थे। एसीपीआई डेमन जड़ के रूप में चलता है, इसलिए इसे सिस्टम को बंद करने की अनुमति है। डेस्कटॉप वातावरण (उदाहरण के gdmलिए सूक्ति) आमतौर पर रूट के रूप में अच्छी तरह से चलते हैं, इसलिए मुझे संदेह है कि वे उसी तरह से काम करते हैं - आपके पास सिस्टम को बंद करने की अनुमति नहीं है, लेकिन आप बता सकते हैं कि gdmआप इसे बंद कर सकते हैं और यह इस पर कर सकता है आपकी ओर से


क्या यह सुरक्षित है ?? 'आप जो चाहें कर सकते थे।'

7
प्राप्त करने के लिए acpidकुछ अलग करने की तुलना में यह पहले से ही करता है वह करने के लिए, आप तो आप पहले से ही असुरक्षित काम करने की अनुमति होगा, जड़ होने के लिए होगा। यह भी संभव है acpidकि वे रूट के रूप में चलाने के लिए अनुमति दी गई चीजों को प्रतिबंधित करने के लिए SELinux जैसे MAC सिस्टम का उपयोग करें ।
वॉरेन यंग

5
@amyassin खैर, यह बदलने के लिए कि आपको रूट विशेषाधिकार की क्या आवश्यकता है; एक सामान्य उपयोगकर्ता यह नहीं बता सकता है कि क्या करना है। लेकिन acpidविन्यास योग्य है, यह (, मेरे पास है, उदाहरण के लिए हार्डवेयर की घटनाओं इसे देखता है के आधार पर विभिन्न लिपियों चला सकते हैं acpidजब मैं सत्ता बटन हिट अपने कंप्यूटर लॉक)
माइकल Mrozek

7
@amyassen यदि किसी के पास आपकी मशीन की भौतिक पहुँच है, तो सुरक्षा की चिंता करने में बहुत देर हो चुकी है - अगर पावर बटन एक सुंदर शटडाउन को ट्रिगर नहीं करता है तो वे पावर कॉर्ड को खींच सकते हैं और एक अप्रिय शटडाउन का कारण बन सकते हैं ।
Shadur

3
कहा कि 'दुर्भावनापूर्ण सॉफ़्टवेयर' को रूट स्वामित्व और SUID अनुमतियाँ प्राप्त करनी होंगी ताकि शटडाउन के साथ बनाने के लिए init बता सकें - और फिर, उस समय तक यह संभव हो जाता है कि आपको एक संभावित शटडाउन की तुलना में चिंता करने के लिए बड़ी समस्याएं हैं।
Shadur

11

माइकल का जवाब हार्डवेयर पावर स्विच का उपयोग करते समय सिस्टम फ़ंक्शन पर सही ढंग से चर्चा करता है, लेकिन अधिकांश डेस्कटॉप वातावरण वास्तव में dbusइस उद्देश्य के लिए उपयोग करते हैं बजाय इसे स्वयं करने के। उदाहरण के लिए, सूक्ति का उपयोग करता है dbus's org.freedesktop.Hal.Device.SystemPowerManagement.Shutdownजब शटडाउन बटन क्लिक किया जाता है। जब यह भेजा जाता है, तो यह dbusनिर्धारित करने के लिए कुछ जांच करता है कि क्या संदेश भेजने वाला उपयोगकर्ता एक शटडाउन करने के लिए अधिकृत है, और यदि वे हैं, तो यह सिस्टम को बंद कर देता है।

आप इसका उपयोग करके अनुकरण कर सकते हैं dbus-send। उदाहरण के लिए, अपने सिस्टम का उपयोग बंद करने के लिए, dbusइस तरह से कुछ का उपयोग करें:

dbus-send --system --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.