सामान्य उपयोगकर्ता के रूप में पावरऑफ़ या रिबूट


17

कमांड चलाने के लिए poweroffया rebootएक सुपर उपयोगकर्ता होने की आवश्यकता है। वैसे भी क्या मैं इसे एक सामान्य उपयोगकर्ता के रूप में चला सकता हूं? मैं sudoहर बार जब मैं रिबूट या पावर ऑफ करता हूं, तो अपना पासवर्ड दर्ज नहीं करना चाहता ।


2
इसका उत्तर इस बात पर निर्भर करता है कि आपका डिस्ट्रो सिस्टम किस इनिट सिस्टम का उपयोग करता है ... उदाहरण के लिए, systemdएक सक्रिय logindसत्र के साथ आप रीबूट या पावरऑफ़ कर सकते हैं बिना किसी विशेष सुविधा के कोई अन्य उपयोगकर्ता अभी भी लॉग इन नहीं कर सकता है ...
jasonwryan

@ajonwryan मैं वर्तमान में Ubuntu का उपयोग कर रहा हूं जो systemdडिफ़ॉल्ट रूप से उपयोग नहीं करता है। तो क्या आपका मतलब है कि अन्य डिस्ट्रोस जैसे आर्क बिना खोए विशेषाधिकार के बिना रीबूट कर सकते हैं?
स्ट्रोमविरक्स

हां: मेरी पहली टिप्पणी में शर्तों के अनुसार।
जसोनवरी

जवाबों:


22

मैंने /etc/sudoersइसलिए बदला कि प्रत्येक उपयोगकर्ता जो व्यवस्थापक समूह में है, पासवर्ड के लिए पूछे बिना निम्नलिखित आदेशों को निष्पादित कर सकता है।

sudo halt
sudo reboot
sudo poweroff

आपको बस निम्नलिखित पंक्तियों को जोड़ना होगा /etc/sudoers

## Admin user group is allowed to execute halt and reboot 
%admin ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff

और अपने आप को व्यवस्थापक समूह में जोड़ें।

यदि आप चाहते हैं कि केवल एक उपयोगकर्ता ऐसा करने में सक्षम हो, तो इसे हटा दें %adminऔर इसे usernameइस तरह से बदल दें

## user is allowed to execute halt and reboot 
stormvirux ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff

आप इसके /etc/sudoersसाथ man sudoersया ऑनलाइन मैनपेज के बारे में अधिक जानकारी प्राप्त कर सकते हैं


4

आप अपनी /etc/sudoers.dइच्छानुसार नाम के तहत एक नई फ़ाइल भी बना सकते हैं (मैंने इसे नाम दिया है 'shutdown'), और निम्न पंक्तियाँ अंदर डालें:

# Allows me to shutdown the system without a password

yourUserName ALL = NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff

बस अपने उपयोगकर्ता नाम के लिए "yourUserName" बदलें, और उपयोग करने के लिए कमांड जोड़ें या हटा दें, व्यक्तिगत रूप से मैं केवल इसके लिए उपयोग करता हूं shutdown। के तहत एक विशेष फ़ाइल बनाने का मुख्य अंतर sudoers.dयह है कि यह फ़ाइल सिस्टम अपग्रेड से बचेगी


1
यदि आप इस दृष्टिकोण का चयन करते हैं, तो सुनिश्चित करें कि फ़ाइलों को पढ़ने के लिए /etc/sudoersएक उपयुक्त #includeनिर्देश है /etc/sudoers.d/
patricktokeeffe

2

आप इसे सेटिड के साथ ट्रिक द्वारा भी प्राप्त कर सकते हैं। मुझे नहीं पता कि यह सभी प्रणालियों पर काम करेगा, क्योंकि वे कभी-कभी सेतु / सेटगिड बिट की उपेक्षा करते हैं।

आप उन उपयोगकर्ताओं के एक समूह को निर्दिष्ट कर सकते हैं जो मेरे मामले में सिस्टम स्थिति में परिवर्तन कर सकते हैं adm। फिर इस समूह में उपयुक्त उपयोगकर्ता जोड़ें।

gpasswd -a $USER adm

अनुमतियाँ निर्दिष्ट करें:

chmod 4550 /usr/bin/reboot

ls -l इस तरह दिखना चाहिए:

-r-sr-x--- 1 root adm 18928 Mar 13  2015 /usr/bin/reboot

बाद में आप बस टाइप कर सकते हैं:

reboot

1

सबसे सरल समाधान:

sudo echo $USER >> /etc/shutdown.allow

फिर आप इस आदेश में से एक का उपयोग करने में सक्षम हैं:

shutdown -ah now   // halt
shutdown -ar now   // reboot

अनुसार आदमी बंद है -एक गैर-रूट के उपयोग के लिए विकल्प:

यदि -a तर्क (इसे / etc / inittab में शटडाउन के आह्वान में जोड़ें) के shutdownसाथ कहा जाता है , तो यह देखने के लिए जाँचता है कि क्या फ़ाइल /etc/shutdown.allow मौजूद है। यह तब उस फ़ाइल में लॉगिन नामों की तुलना उन लोगों की सूची से करता है जो एक वर्चुअल कंसोल पर लॉग इन हैं ...

यह डेबियन लिनक्स में काम करता है। और इसमें 32 उपयोगकर्ता नामों की सीमा है /etc/shutdown.allow


4
फेडोरा, सेंटोस या आरएचईएल पर ऐसा कोई विकल्प नहीं है।
fpmurphy

1
यह उबंटू के लिए भी काम नहीं कर रहा है, कम से कम जो मुझे डॉक्स से मिलता है। यह देखना उपयोगी होगा कि क्या यह एक डेबियन केवल सुविधा है।
राफेल अहरेंस

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