2014-06-19 16 views
6

Installierter Ubuntu-Server LTS 14.04 aus der Azure-Bibliothek auf Azure VM. Als "Azureuser" angemeldet von Azure mit meinem Passwort angemeldet. Changed Root-Passwort:Root-Login Ubuntu-VM auf Azure

sudo passwd root 

Wenn ich versuche, als "root" anzumelden:

Access denied 

Was ich vermisse? Und ja, das Passwort ist korrekt.

Antwort

11

Standardmäßig deaktiviert Ubuntu das root-Konto. Da root der Gottmodus ist, bedeutet das Deaktivieren, dass alle Hacker mit automatisierten Skripts, die versuchen, den root-Account zu knacken, ihre Zeit verschwenden.

Ich empfehle sehr dagegen. (Es gibt viele Gründe, hier sind einige: https://askubuntu.com/questions/16178/why-is-it-bad-to-login-as-root) Allerdings sind die Schritte zu tun, so Over on askubuntu.com

Nach dieser Seite, das root-Konto entsperren Sie sudo passwd -u root ausführen müssen. Um das root-Konto wieder zu sperren, verwenden Sie sudo passwd -l root

Um zu wiederholen: das ist ein bisschen eine schlechte Idee. Eine bessere Lösung wäre es, einen neuen Benutzer mit unbegrenzten Berechtigungen nur innerhalb des Bereichs dessen, was Sie benötigen, zu erstellen. Wurzel ist Gottmodus; wenn du etwas zu schlecht für dich vermasselst. Ein erhöhter Benutzer für Ihr Zielfernrohr würde dagegen nur das zerstören können, auf das es Zugriff hat ... nicht Ihr gesamtes System.

+1

Nö, die nicht helfen. Und nur die Einstellung des Passworts funktionierte auf Nicht-Azure-VM. – Wonder

+0

@RussellUhl, also was mache ich, wenn ich "apt-get install ..." ausführen und "Kann das Verwaltungsverzeichnis (/ var/lib/dpkg) nicht sperren kann, sind Sie root?" – eddyP23

+0

@ eddyP23 ARE du Wurzel? Meine Antwort ist, wie man den root-Account freischaltet. Nur weil du gelaufen bist, heißt das nicht, dass du zu diesem Zeitpunkt AS root betreibst. –

19

Starten Sie einfach sudo -s, Sie erhalten das Root-Terminal.

+0

Yup das ist, was ich suchte, da ich mich technisch nicht einloggen wollte, aber die Root-Eingabeaufforderung –

1

Es ist einfacher, einfach zu tun sudo <command>. Dann haben Sie nicht das volle Terminal für den Superuser. Dies wird nur den Befehl mit Root-Rechten ausführen. Siehe this article.

3

Zu einem Azure VM mit SSH tritt in ...

Zuerst Sie müssen das root-Konto aktivieren:

#sudo passwd root 

Dann müssen Sie die Root-Login für ssh die Bearbeitung der Datei aktivieren/etc/ssh/sshd_config (der Standardwert in Azure VMs ohne-Passwort wird PermitRootLogin, so dass Sie sich ändern müssen/Kommentar it):

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

Schließlich müssen Sie reloa d/Neustart der SSH-Dienst:

+2

Aber wie @Russell Uhl erklärte, Das ist keine gute Praxis. Sobald Sie das getan haben, was Sie wollen, deaktivieren Sie das root-Konto erneut. – user1094000

0

Es ist ein alter Beitrag, aber es passiert manchmal. Hier ist was ich nach der Recherche gelöst habe.

Beispielprotokoll

$ 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 

für Mac OS Anwender ist hier einfachen Schritten.(Zumindest müssen Sie Knoten installiert)

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

oder asm, hängt von Ihrer VM

azure vm list  

Änderungsmodus, wenn keine VM aufgelistet

Kopie sudoers von anderen Maschinendatei/tmp/sudoers .default von Ihnen Zielmaschine

Backup sudoers

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

Kopie Standard sudoers in/etc/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"}'