2014-06-19 12 views
6

Installato Ubuntu Server LTS 14.04 dalla libreria di Azure su VM di Azure. Connesso come standard "azureuser" creato da Azure con la mia password. password di root modificato:Accesso root Ubuntu VM su Azure

sudo passwd root 

Se provo ad entrare come "root":

Access denied 

Cosa mi manca? E sì, la password è corretta.

risposta

11

per impostazione predefinita, Ubuntu disabilita l'account di root. Dal momento che root è Godmode, disabilitarlo significa che tutti gli hacker con script automatici che tentano di violare l'account di root stanno perdendo tempo.

Consiglio vivamente questo. (Ci sono molte ragioni, ecco alcuni: https://askubuntu.com/questions/16178/why-is-it-bad-to-login-as-root) Tuttavia, i passaggi per farlo sono Over on askubuntu.com

Secondo quella pagina, per sbloccare l'account root è necessario eseguire sudo passwd -u root. Per bloccare nuovamente l'account root, utilizzare sudo passwd -l root

Per ripetere: questa è una pessima idea. Una soluzione migliore sarebbe quella di creare un nuovo utente che abbia autorizzazioni illimitate SOLO ENTRO IL CAMPO DI APPLICAZIONE DI QUELLO CHE TI RICHIEDE. La radice è un dio; se metti male qualcosa per te D'altro canto, un utente con privilegi elevati per il tuo scope sarebbe in grado di distruggere solo ciò a cui ha accesso ... non il tuo intero sistema.

+1

No, che non ha aiutato. E la semplice impostazione della password funzionava bene su macchine virtuali non Azure. – Wonder

+0

@RussellUhl, quindi cosa devo fare se voglio eseguire 'apt-get install ...' e ottenere 'Impossibile bloccare la directory di amministrazione (/ var/lib/dpkg), sei root?' – eddyP23

+0

@ eddyP23 ARE tu root? la mia risposta è come sbloccare l'account di root. Solo perché è stato eseguito ciò non significa che tu stia eseguendo la root AS a quel punto –

19

Basta eseguire sudo -s, si otterrà il terminale di root.

+0

Sì, questo è quello che stavo cercando dato che non volevo accedere tecnicamente ma usare il prompt di root –

1

È più facile fare solo sudo <command>. Quindi non hai il terminale completo per il superutente. Questo eseguirà semplicemente il comando con i privilegi di root. Vedere this article.

3

Per entrare in un Azure VM usando SSH ...

In primo luogo, È necessario attivare l'account root:

#sudo passwd root 

allora avete bisogno di abilitare l'accesso root per ssh la modifica del file/etc/ssh/sshd_config (il valore predefinito nel Azure VM è PermitRootLogin senza-password, in modo è necessario modificare/commentarlo):

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

Infine, è necessario reloa d/riavviare il servizio ssh:

#sudo service ssh reload 
+2

Ma come spiegato da @Russell Uhl, questa non è una buona pratica. Quindi, una volta fatto quello che vuoi, disabilita nuovamente l'account di root. – user1094000

0

È un vecchio post ma a volte capita. Ecco cosa ho risolto dopo la ricerca.

registro di esempio

$ 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 

Per gli utenti MacOS, qui è semplici passaggi.(Almeno è necessario nodo installato)

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

o asm, dipende dal vostro VM

azure vm list  

modalità di modifica se non VM elencato il file

sudoers copiare da altre macchine a/tmp/sudoers .default di voi bersaglio macchina

sudoers di backup

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

sudoers copia predefinite a/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"}' 
Problemi correlati