2014-06-19 8 views
6

Azure VM पर Azure लाइब्रेरी से उबंटू सर्वर एलटीएस 14.04 स्थापित किया गया। मेरे पासवर्ड के साथ Azure द्वारा बनाए गए मानक "azureuser" के रूप में लॉग इन किया गया है। बदला गया रूट पासवर्ड:रूट लॉगिन उबंटू वीएम Azure

sudo passwd root 

अगर मैं "रूट" के रूप में प्रवेश करने की कोशिश:

Access denied 

मैं क्या याद करते हैं? और हाँ, पासवर्ड सही है।

उत्तर

11

डिफ़ॉल्ट रूप से, उबंटू रूट खाते को अक्षम करता है। चूंकि रूट गोडमोड है, इसका अक्षम करने का अर्थ है कि रूट स्क्रिप्ट को तोड़ने का प्रयास करने वाली स्वचालित स्क्रिप्ट वाले सभी हैकर्स अपना समय बर्बाद कर रहे हैं।

मैं इसके खिलाफ अत्यधिक अनुशंसा करता हूं। (कई कारण हैं, कुछ कर रहे हैं यहाँ: https://askubuntu.com/questions/16178/why-is-it-bad-to-login-as-root) हालांकि, चरणों ऐसा करने के लिए कि पेज के अनुसार Over on askubuntu.com

हैं, जड़ खाता आप sudo passwd -u root पर अमल करना होगा अनलॉक करने के लिए। जड़ खाता relock करने के लिए, sudo passwd -l root

का उपयोग दोहराना करने के लिए: इस थोड़े एक बुरा विचार है। एक बेहतर समाधान एक नया उपयोगकर्ता बनाना होगा जिसमें आपको आवश्यकतानुसार स्कोप के भीतर असीमित अनुमतियां होंगी। रूट गॉडमोड है; अगर आप अपने लिए कुछ खराब बनाते हैं। दूसरी तरफ, आपके दायरे के लिए एक ऊंचा उपयोगकर्ता, केवल उस चीज़ को नष्ट करने में सक्षम होगा, जिसकी पहुंच है ... आपकी पूरी प्रणाली नहीं।

+1

नहीं, कि मदद नहीं की। और बस पासवर्ड सेट करने से गैर-एज़ूर वीएम पर ठीक काम किया। – Wonder

+0

@RussellUhl, तो मैं क्या करूँगा यदि मैं 'apt-get install ...' चलाने के लिए चाहता हूं और 'प्रशासन निर्देशिका (/ var/lib/dpkg) को लॉक करने में असमर्थ हूं, तो क्या आप रूट हैं? ' – eddyP23

+0

@ eddyP23 ARE तुम जड़? मेरा जवाब रूट खाता अनलॉक करने का तरीका है। सिर्फ इसलिए कि आप भाग गए हैं इसका मतलब यह नहीं है कि आप उस बिंदु पर AS रूट चला रहे हैं –

19

बस चलाने sudo -s, आप रूट टर्मिनल मिल जाएगा।

+0

से चलने के बजाए उन्हें सूड करना बेहतर होता है Yup यह वही है जो मैं खोज रहा था क्योंकि मैं तकनीकी रूप से लॉगिन नहीं करना चाहता था लेकिन रूट प्रॉम्प्ट –

1

यह सिर्फ sudo <command> करने के लिए आसान है। तो फिर तुम सुपर उपयोगकर्ता के लिए पूर्ण टर्मिनल जरूरत नहीं है। यह केवल रूट विशेषाधिकारों के साथ कमांड निष्पादित करेगा। this article देखें।

3

एक SSH Azure वी एम का उपयोग कर में प्रवेश करने के लिए ...

पहले, आप जड़ खाता सक्षम करना होगा:

#sudo passwd root 

तो फिर तुम ssh के लिए रूट लॉगिन संपादन फ़ाइल सक्षम करने की आवश्यकता/etc/ssh/sshd_config (Azure VMs में डिफ़ॉल्ट मान के बिना-पासवर्ड PermitRootLogin है, तो आप को बदलने की जरूरत/यह टिप्पणी):

... 
#PermitRootLogin without-password 
PermitRootLogin yes 
... 

अंत में, आप reloa करने की जरूरत है डी/एसएसएच सेवा को पुनरारंभ करें:

#sudo service ssh reload 
+2

का उपयोग करता हूं लेकिन जैसा कि @Russell Uhl ने समझाया, यह एक अच्छा अभ्यास नहीं है। तो, एक बार जब भी आप चाहें, रूट खाते को दोबारा अक्षम करें। – user1094000

0

यह एक पुरानी पोस्ट है लेकिन कभी-कभी ऐसा होता है। अनुसंधान के बाद मैंने हल किया है।

नमूना लॉग

$ azure vm extension set hm hm CustomScript Microsoft.Azure.Extensions 2.0 --auto-upgrade-minor-version -i '{"commandToExecute": "cp /tmp/sudoers.org /etc/sudoers"}' info: Executing command vm extension set 
+ Looking up the VM "hm" 
+ Installing extension "CustomScript", VM: "hm" info: vm extension set command OK 

MacOS उपयोगकर्ता के लिए, यहाँ सरल कदम है।(कम से कम आप नोड स्थापित की जरूरत है)

npm install -g azure-cli 
azure login 
azure config mode arm 

या एएसएम, अपने वी एम पर कोई वी एम सूचीबद्ध करता है, तो

प्रतिलिपि sudoers/tmp/sudoers करने के लिए अन्य मशीन से फाइल

azure vm list  

परिवर्तन मोड निर्भर करता है आप में से .DEFAULT को लक्षित मशीन

बैकअप sudoers

azure vm extension set hm hm CustomScript Microsoft.Azure.Extensions 2.0 --auto-upgrade-minor-version -i '{"commandToExecute": "cp /etc/sudoers /tmp"}' 

/आदि के लिए प्रति डिफ़ॉल्ट sudoers/sudoers

azure vm extension set hm hm CustomScript Microsoft.Azure.Extensions 2.0 --auto-upgrade-minor-version -i '{"commandToExecute": "cp /tmp/sudoers.default /etc/sudoers"}'