-बाश: सुडो: आज्ञा नहीं मिली


63

मैं django ऐप को तैनात करने की कोशिश कर रहा हूं। जब मैं प्रिंट करता apt-get update हूं तो देखता हूं

W: Unable to read /etc/apt/apt.conf.d/ - DirectoryExists (13: Permission denied)
W: Unable to read /etc/apt/sources.list.d/ - DirectoryExists (13: Permission denied)
W: Unable to read /etc/apt/sources.list - RealFileExists (13: Permission denied)
E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
E: Unable to read /var/cache/apt/ - opendir (13: Permission denied)
E: Unable to read /var/cache/apt/ - opendir (13: Permission denied)
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

जब मैं प्रिंट करता sudo apt-get update हूं तो देखता हूं

-bash: sudo: command not found

मैंने suइसके बजाय उपयोग करने की कोशिश की sudo। लेकिन यह अजीब है। उदाहरण के लिए मैं प्रिंट करता हूं su apt-get update और कुछ नहीं होता है मैं सिर्फ एक नई लाइन देखता हूं,

(uiserver):u78600811:~$ su apt-get update
(uiserver):u78600811:~$

वही अगर मैं कुछ पैकेजों को स्थापित करने की कोशिश करता हूं। मैं क्या करूं?

यदि यह उपयोगी जानकारी है - मैं डेबियन का उपयोग कर रहा हूं

(uiserver):u87600811:~$ uname -a
Linux infong1559 3.14.0-ui16294-uiabi1-infong-amd64 #1 SMP Debian 3.14.79-2~ui80+4 (2016-10-20) x86_64 GNU/Linux

क्या यह एक वाणिज्यिक सर्वर पर एक ग्राहक खाता है?
टॉमाज़

@tomas yeah ////
user2950593

1
यदि आप सर्वर के मालिक नहीं हैं, तो आपको क्या लगा कि आपको सॉफ़्टवेयर स्थापित करने या निकालने का अधिकार है? व्यवस्थापक से पूछें
Shadur

दौड़ने से क्या होता है apt-cache policy sudo? सभी लिनक्स डिस्ट्रोस डिफ़ॉल्ट रूप से sudo स्थापित नहीं करते हैं (उदाहरण के लिए, डेबियन, sudo स्थापित करेगा यदि और केवल यदि आप स्थापना पर रूट पासवर्ड निर्दिष्ट नहीं करते हैं)। आप रूट-कैश को बिना रूट विशेषाधिकार के चला सकते हैं।
रसूव

जवाबों:


79

डिफ़ॉल्ट रूप से सुडोल डेबियन पर स्थापित नहीं है, लेकिन आप इसे स्थापित कर सकते हैं। पहले सु-मोड सक्षम करें:
su -

भागो द्वारा sudo स्थापित करें:
apt-get install sudo -y

इसके बाद आपको उपयोगकर्ताओं और अनुमतियों के साथ खेलना होगा। अपने ही उपयोगकर्ता को sudo का अधिकार दें।

usermod -aG sudo yourusername

सुनिश्चित करें कि आपके sudoers फ़ाइल में sudo समूह जोड़ा गया है। भागो:
visudosudoers फ़ाइल को संशोधित करने और इसमें निम्न पंक्ति जोड़ने (यदि यह गायब है):

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

परिवर्तनों को प्रभावी करने के लिए आपको डिवाइस को पूरी तरह से फिर से खोलने या रिबूट करने की आवश्यकता है।


3
इसका उत्तर स्वीकार किया जाना चाहिए, इससे मेरी समस्या हल हो गई
कैलट

मुझे "su: अपना उपयोगकर्ता नाम निर्धारित नहीं किया जा रहा है।" सु पर कर -
user674669

@ user674669 क्या आपने इस पोस्ट को देखा है: serverfault.com/questions/816969/… ?
मक्सिम लुज़िक

धन्यवाद @MaksimLuzik मेरा एक डॉकटर कंटेनर है। उस पृष्ठ पर विचार मेरे लिए उपयोगी हैं। हो सकता है, मुझे एक अलग प्रश्न पोस्ट करना चाहिए।
user674669

19

चूंकि यह एक वाणिज्यिक सर्वर है, जिसकी जड़ रूट तक आपकी पहुंच नहीं होगी और न ही यह रूट विशेषाधिकार के साथ संचालित हो सकता है। इसका मतलब है कि आप sudoपैकेज नहीं चला पाएंगे और न ही स्थापित कर पाएंगे । आप क्या करने की कोशिश कर सकते हैं:

  • जांचें कि क्या आपके पास एक कंपाइलर तक पहुंच है और आप अपने लिए और अपने घर में क्या चाहते हैं।

  • जांचें कि क्या आप वर्चुअल मशीन चला सकते हैं। यह आपको एक ओएस के अपने निजी उदाहरण को चलाने की अनुमति दे सकता है, जिस पर आप पैकेज स्थापित करेंगे।


12

suऔर sudoदो अलग-अलग, लेकिन संबंधित आदेश हैं। इसे sudoस्थापित न किया जाना असामान्य है, लेकिन यह केवल आपके पथ में नहीं हो सकता है। कोशिश करो /usr/bin/sudo command

यदि वास्तव sudoमें उपलब्ध नहीं है, तो आपको उपयोग करने के लिए आवश्यक है su, लेकिन यह उसी तरह से काम नहीं करता है sudo। इसका उपयोग करने का सबसे सरल तरीका बस चलाना है:

su -

यह आपको rootउपयोगकर्ता के पासवर्ड के लिए पूछेगा , जिस बिंदु पर आपको संभवतः apt install sudo, मूल शेल से लॉग आउट करना चाहिए , और फिर सामान्य रूप से आगे बढ़ना चाहिए।

मन विपरीत sudo, जो आपसे आपका पासवर्ड मांगता है , suआपसे रूट का पासवर्ड पूछेगा ।


जब मैं सु लिखता हूं - कुछ भी नहीं होता है - बस नई लाइन
user2950593

3
तब तुम शायद पहले से ही जड़ हो। के साथ जाँच करें whoami। यदि आप मूल हैं, apt install sudoजैसा कि वर्णित है।
डोपघोटी

(uiserver): u78600811: ~ $ apt install sudo
user2950593

1
डब्ल्यू: पढ़ने में असमर्थ /etc/apt/apt.conf.d/ - DirectoryExists (13: अनुमति अस्वीकृत) E: लॉक फ़ाइल / var / lib / dpkg / लॉक नहीं खोल सका - खुला (13: अनुमति अस्वीकृत) E: असमर्थ प्रशासन निर्देशिका (/ var / lib / dpkg /) लॉक करने के लिए, क्या आप रूट हैं?
user2950593

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