यदि मेरे कंप्यूटर पर एक से अधिक लोग लॉग इन हैं, तो कंप्यूटर को बंद करते समय उबंटू को सुपर यूजर प्रमाणीकरण की आवश्यकता होती है। मैं इसे कैसे बना सकता हूं ताकि कोई भी उपयोगकर्ता पासवर्ड मांगे बिना कंप्यूटर को बंद कर सके?
यदि मेरे कंप्यूटर पर एक से अधिक लोग लॉग इन हैं, तो कंप्यूटर को बंद करते समय उबंटू को सुपर यूजर प्रमाणीकरण की आवश्यकता होती है। मैं इसे कैसे बना सकता हूं ताकि कोई भी उपयोगकर्ता पासवर्ड मांगे बिना कंप्यूटर को बंद कर सके?
जवाबों:
आपको वर्कअराउंड की आवश्यकता नहीं है, केवल कई उपयोगकर्ताओं के लॉग इन होने पर शटडाउन और रीबूट के लिए व्यवस्थापक के रूप में प्रमाणित किए बिना आपको शट डाउन करने की अनुमति देने के लिए नीति को बदलें।
अपने पसंदीदा पाठ संपादक का उपयोग करके फ़ाइल /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy संपादित करें। आपको रूट अनुमति की आवश्यकता होगी।
अन्य लोगों द्वारा लॉग इन करने पर शटडाउन से संबंधित अनुभाग बदलें
<action id="org.freedesktop.consolekit.system.stop-multiple-users">
<description>Stop the system when multiple users are logged in</description>
<message>System policy prevents stopping the system when other users are logged in</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
</defaults>
</action>
सेवा
<action id="org.freedesktop.consolekit.system.stop-multiple-users">
<description>Stop the system when multiple users are logged in</description>
<message>System policy prevents stopping the system when other users are logged in</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
और जब दूसरों से लॉग इन किया जाता है तो रिबूट करने से संबंधित अनुभाग
<action id="org.freedesktop.consolekit.system.restart-multiple-users">
<description>Restart the system when multiple users are logged in</description>
<message>System policy prevents restarting the system when other users are logged in</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
</defaults>
</action>
सेवा
<action id="org.freedesktop.consolekit.system.restart-multiple-users">
<description>Restart the system when multiple users are logged in</description>
<message>System policy prevents restarting the system when other users are logged in</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
और यह आपको कई उपयोगकर्ताओं को लॉग इन करने पर पीसी को शटडाउन और रिबूट करने की अनुमति देगा। क्या आप ऐसा करना चाहते हैं, यह एक अलग सवाल है।
रिचर्ड होलोवे का जवाब वास्तव में नहीं है जिस तरह से पोलिकिट प्राधिकरणों को दी जाने वाली हैं। के तहत स्थापित फ़ाइलों /usr/share/polkit-1/actions
को संशोधित करने का मतलब नहीं है। इसके बजाय, आपको अधिकारियों को संशोधित करना चाहिए /etc/polkit-1/localauthority/50-local.d/
।
यहाँ आप इसे इस प्रश्न के लिए कैसे करते हैं:
इस तरह दिखने के लिए नाम से एक फ़ाइल बनाएं /etc/polkit-1/localauthority/50-local.d/allow_all_users_to_shutdown.pkla
और उसे संपादित sudoedit
करें:
[Allow all users to shutdown]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.stop-multiple-users
ResultInactive=no
ResultActive=yes
फिर .pkla
उसी डायरेक्टरी में दूसरी फाइल बनाएं । .pkla
उदाहरण के लिए, किसी भी नाम का उपयोग करें जिसे आप समाप्त करना चाहते हैं allow_all_users_to_restart.pkla
, और उसे इन सामग्रियों से भरें:
[Allow all users to restart]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.restart-multiple-users
ResultInactive=no
ResultActive=yes
/var/lib/polkit-1/localauthority/50-local.d
और ResultAny=yes
दोनों फाइलों के लिए अतिरिक्त लाइन आवश्यक थी। केवल चेतावनी संदेश मुझे अब मिल रहा है Failed to set wall message, ignoring: Interactive authentication required.
, लेकिन शट डाउन करना और पुनरारंभ करना अब सही ढंग से काम करता है।
sysctl poweroff -i
आवश्यकता है org.freedesktop.login1.power-off-multiple-sessions
, इसलिए मैंने एक ही लाइनों के साथ एक अलग फ़ाइल बनाईAction=org.freedesktop.login1.power-off-multiple-sessions
एक बेहतर रास्ता है। यदि आपके पास dbus-send स्थापित है, तो आप रूट विशेषाधिकारों को बढ़ाने की आवश्यकता के बिना dbus के माध्यम से बंद कर सकते हैं ।
मुझे वह पृष्ठ याद नहीं आ रहा है जहाँ दस्तावेज़ है, लेकिन एक आर्कलिनक्स उपयोगकर्ता ने यह पता लगा लिया।
बंद करना:
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown
रीबूट:
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Reboot
निलंबित करें:
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:1
हाइबरनेट:
dbus-send --system --print-reply --dest=org.freedesktop.Hal \
/org/freedesktop/Hal/devices/computer \
org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate
सादर।
एचएएल को अब पदावनत किया जा रहा है और नवीनतम उबंटू रिलीज में स्थापित नहीं किया गया है।
पावर स्थिति का प्रबंधन करने के लिए आपको ConsoleKit और UPower dbus सेवाओं का उपयोग करना होगा
बंद करना:
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
पुनर्प्रारंभ करें:
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
निलंबित करें:
dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
हाइबरनेट:
dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate
आर्क लिनक्स मंचों के लिए धन्यवाद ।
यह अभी के लिए Precise और Quantal में काम करता है, लेकिन यह नहीं पता है कि कब से Freedesktop फोकस ConsoleKit से systemd में स्थानांतरित किया जा रहा है। पता नहीं क्या कैनोनिकल परवाह करता है ...
यह 14.04 पर काम करता है। पिछले, IMO की एक अद्यतन भिन्नता, फ़्लिम द्वारा सही उत्तर ।
sudo mkdir -p /etc/polkit-1/localauthority/50-local.d
sudoedit /etc/polkit-1/localauthority/50-local.d/allow_all_users_to_shutdown_reboot_suspend.pkla
इसे अंदर चिपकाएँ:
[Allow all users to shutdown]
Identity=unix-user:*
Action=org.freedesktop.login1.power-off-multiple-sessions
ResultActive=yes
[Allow all users to reboot]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot-multiple-sessions
ResultActive=yes
[Allow all users to suspend]
Identity=unix-user:*
Action=org.freedesktop.login1.suspend-multiple-sessions
ResultActive=yes
[Allow all users to ignore inhibit of shutdown]
Identity=unix-user:*
Action=org.freedesktop.login1.power-off-ignore-inhibit
ResultActive=yes
[Allow all users to ignore inhibit of reboot]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot-ignore-inhibit
ResultActive=yes
[Allow all users to ignore inhibit of suspend]
Identity=unix-user:*
Action=org.freedesktop.login1.suspend-ignore-inhibit
ResultActive=yes
एक सुपरसुअर पासवर्ड के लिए प्रॉम्प्ट को दरकिनार करने का कोई तरीका नहीं है, जब रिबूट करते समय अन्य उपयोगकर्ताओं को टर्मिनल विंडो खोलने और reboot
कमांड को रूट के रूप में जारी करने के लिए लॉग इन किया जाता है:
sudo reboot
फिर भी, यदि आपके उपयोगकर्ता खाते के लिए पासवर्ड को बायपास करने के लिए कॉन्फ़िगर नहीं किया गया है, तो sudo
भी आपको अपने पासवर्ड के लिए संकेत देगा।
चिंता न करें, ये अच्छी चीजें हैं। रिबूटिंग दुर्लभ होना चाहिए और एक साधारण व्यवस्थापक पासवर्ड प्रॉम्प्ट गलती से खुद को छुपाने से बचाता है!
मेरा मानना है कि यह केवल एक मुद्दा है जब इसे कमांड लाइन के माध्यम से किया जाता है।
यदि ऐसा है तो यहां एक लिंक दिया गया है जो आपकी समस्या का समाधान कर सकता है।
उस समूह / उपयोगकर्ता को सौंपी गई फ़ाइल और जो आप इस कार्य को करने की अनुमति देना चाहते हैं, में पड़ाव और / या रिबूट जोड़ें। इस तरह आप अभी भी नियंत्रित कर सकते हैं कि कौन बंद कर सकता है, लेकिन उन्हें मशीन को पूरी जड़ दिए बिना।
http://linux.byexamples.com/archives/315/how-to-shutdown-and-reboot-without-sudo-password/
जाहिरा तौर पर, आप जीयूआई से रूट के बिना बंद करने में सक्षम हैं क्योंकि जीडीएम रूट के रूप में चलता है। गनोम जीडीएम को बंद करने के लिए कहता है, और जीडीएम इसे करता है।
आप स्क्रिप्ट के साथ कुछ ऐसा ही कर सकते हैं। मुझे यकीन नहीं है कि आप BASH के साथ कितने उपयोगी हैं, लेकिन मेरा मानना है कि कोई एक स्क्रिप्ट लिख सकता है जो रूट के रूप में चलती है और, जब यह एक निश्चित संकेत प्राप्त करता है, तो शटडाउन कमांड चलाता है।
ध्यान रखें कि इससे सुरक्षा समस्या उत्पन्न हो सकती है।