2014-06-19 14 views
6

Zainstalowany system Ubuntu Server LTS 14.04 z biblioteki Azure w maszynie Azure VM. Zalogowano jako standardowy "azureuser" stworzony przez Azure za pomocą mojego hasła. Zmieniono hasło root:Logowanie do systemu głównego Ubuntu VM na platformie Azure

sudo passwd root 

Gdy próbuję zalogować się jako "root":

Access denied 

Czego brakuje? I tak, hasło jest poprawne.

Odpowiedz

11

domyślnie Ubuntu wyłącza konto root. Ponieważ root jest trybem godmode, wyłączenie go oznacza, że ​​wszyscy hakerzy z automatycznymi skryptami, którzy próbują złamać konto root, marnują swój czas.

Gorąco polecam przeciwko temu. (Istnieje wiele powodów, oto niektóre: https://askubuntu.com/questions/16178/why-is-it-bad-to-login-as-root) Jednakże, kroki, aby zrobić to Over on askubuntu.com

Według tej strony, w celu odblokowania konta root należy wykonać sudo passwd -u root. Aby ponownie założyć konto roota, należy ponownie użyć numeru sudo passwd -l root . Lepszym rozwiązaniem byłoby stworzenie nowego użytkownika, który ma nieograniczone uprawnienia TYLKO W ZAKRESIE, CO WYMAGAMY. Korzeń jest bogiem; jeśli zepsujesz coś dla siebie. Z drugiej strony, wyższy użytkownik twojego zasięgu może zniszczyć to, do czego ma dostęp ... a nie cały system.

+1

Nie, to nie pomogło. I tylko ustawienie hasła działało dobrze na innej maszynie wirtualnej niż Azure. – Wonder

+0

@RussellUhl, więc co mam zrobić, jeśli chcę uruchomić 'apt-get install ...' i uzyskać 'Nie można zablokować katalogu administracyjnego (/ var/lib/dpkg), czy jesteś rootem?' – eddyP23

+0

@ eddyP23 ARE jesteś rootem? moją odpowiedzią jest sposób odblokowania konta root. Tylko dlatego, że to uruchomiłeś, nie oznacza to, że używasz rootu w tym momencie. –

19

Po prostu uruchom sudo -s, otrzymasz terminal główny.

+0

Tak właśnie szukałem, ponieważ nie chciałem logicznie się logować, ale skorzystałem z podpowiedzi roota –

1

Łatwiej po prostu zrobić sudo <command>. Wtedy nie masz pełnego terminala dla superużytkownika. To po prostu wykona polecenie z uprawnieniami roota. Zobacz this article.

3

Aby zawrzeć Azure VM z wykorzystaniem SSH ...

Najpierw Musisz włączyć konto root:

#sudo passwd root 

Następnie trzeba umożliwić logowanie roota dla ssh edycję pliku/etc/ssh/sshd_config (wartość domyślna w Azure VMS PermitRootLogin bez-hasła, więc trzeba zmienić/skomentować go):

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

Wreszcie, trzeba reloa d/uruchom ponownie usługę ssh:

#sudo service ssh reload 
+2

Ale jak wyjaśnił @Russell Uhl, to nie jest dobra praktyka. Tak więc, gdy zrobisz, co chcesz, wyłącz ponownie konto root. – user1094000

0

To stary post, ale zdarza się czasem. Oto, co rozwiązałem po badaniach.

przykładowy log

$ 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 

dla MacOS użytkownika, tutaj jest proste kroki.(Przynajmniej trzeba zainstalować węzeł)

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

lub ASM, zależy od VM

azure vm list  

trybu zmienić, jeśli nie VM wymieniony plik

kopiowania sudoers z innej maszyny do/tmp/sudoers .DEFAULT was kierować maszyna

sudoers zapasowych

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

domyślne kopiowania sudoers do pliku/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"}' 
Powiązane problemy