2014-06-19 196 views
6

从Azure虚拟机上的Azure库安装Ubuntu Server LTS 14.04。 作为Azure用我的密码创建的标准“azureuser”登录。 更改root密码:根登录Azure虚拟机上的Ubuntu虚拟机

sudo passwd root 

如果我尝试登录为 “根”:

Access denied 

我怎么错过? 是的,密码是正确的。

回答

11

默认情况下,Ubuntu会禁用root帐户。由于root是godmode,禁用它意味着所有使用自动化脚本的黑客都试图破解root帐户,这正在浪费他们的时间。

我强烈建议不要这样做。(原因是多方面的,这里有一些:https://askubuntu.com/questions/16178/why-is-it-bad-to-login-as-root)但是,这样做的步骤等都是Over on askubuntu.com

根据该网页,解开您必须执行sudo passwd -u root root帐户。要重新锁定根帐户,请使用sudo passwd -l root

重申:这有点不妙。更好的解决方案是创建一个新的用户,只需在您需要的范围内拥有无限制的权限。根是神模;如果你搞砸了你太糟糕了。另一方面,你的范围的高级用户将只能销毁它可以访问的内容......而不是整个系统。

+1

不,没有帮助。只需在非Azure虚拟机上设置密码就可以正常工作。 – Wonder

+0

@RussellUhl,如果我想要运行'apt-get install ...'并得到'无法锁定管理目录(/ var/lib/dpkg),我该怎么办?你是root吗?' – eddyP23

+0

@ eddyP23 ARE你根?我的答案是如何解锁根帐户。仅仅因为你运行了这并不意味着你在那个时候运行了AS根目录 –

19

只要运行sudo -s,就会得到根端。

+0

是这是我正在寻找的,因为我不想技术上登录,但使用根提示 –

1

只要做sudo <command>更容易。那么你没有超级用户的完整终端。这只会以root权限执行该命令。 见this article

3

为了进入Azure的VM使用SSH ...

首先, 您需要启用root帐户:

#sudo passwd root 

然后你需要为SSH启用编辑该文件的root登录在/ etc/SSH/sshd_config中(在Azure中的虚拟机的默认值是没有的PermitRootLogin密码,所以您需要更改/发表评论吧):

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

最后,你需要reloa d /重新启动ssh服务:

#sudo service ssh reload 
+2

但是正如@Russell Uhl解释,这不是一个好的做法。所以,一旦你做了你想做的事,再次禁用root帐户。 – 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 

或ASM,取决于你的虚拟机,如果没有VM上市

副本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文件到/ 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"}'