允许无密码的 root 访问

允许无密码的 root 访问

有一个 VirtualBox Ubuntu 客户机 (14.04),仅用于测试
用户有自己的密码,因此我可以在单独的终端(su -)中以 root 身份登录,或者直接从登录会话登录(例如,按 Ctrl-Alt-F4 之后)。

$ su -
Password: <current root password>
# echo Works!

由于它是一个 VB 测试系统,并且用户不需要任何安全性,我希望能够su -login以 root 身份快速,即无需有密码。

因此,尝试

# passwd -d root

删除密码 - 它似乎根据 /etc/shadow 工作(::

root::16304:0:99999:7:::

但尝试时su -,它会要求输入密码,我只需按进入(无密码)

$ su -
Password: 
su: Authentication failure

但它没有

必须有一个设置来允许无需密码即可登录/su。
在哪里可以找到?

答案1

警告;未经测试,因为我认为这不是一个好主意,即使对于 VM 而言(坏习惯很难去除...)。

我认为这是 PAM 的事情(PAM=可插入的身份验证模块)。

其中/etc/pam.d包含所有 PAM 配置文件,用于告诉系统如何对用户进行身份验证。现在,检查“unix 样式”密码的模块是pam_unix.so,您可以在其手册页中找到以下选项:

  nullok
       The default action of this module is to not permit the user access
       to a service if their official password is blank. The nullok
       argument overrides this default and allows any user with a blank
       password to access the service.

   nullok_secure
       The default action of this module is to not permit the user access
       to a service if their official password is blank. The nullok_secure
       argument overrides this default and allows any user with a blank
       password to access the service as long as the value of PAM_TTY is
       set to one of the values found in /etc/securetty.

因此,我怀疑这是一个在上述文件中找到所有出现的 的问题pam_unix.so,然后将选项nullok(或将 更改为nullok_secure)添加nullok到条目中。

根据到这个帖子该文件应该是/etc/pam.d/common-auth---但我不确定,因为在 Ubuntu 中 VC 在/etc/securetty列表中,所以 root 的空密码应该从那里起作用(虽然不是从终端仿真器),并且 SO 指出它不起作用。

因此需要进行一些实验;-)。

答案2

尝试

sudo -s

它将要求您输入密码以 root 身份登录。

然后使用passwd更改root密码。

如果你不是 sudo 用户

类型

sudo visudo

在最后添加这一行

<username> ALL=NOPASSWD: ALL

然后ctrl+x退出,然后 ,y保存更改

然后重试sudo -s它将登录到root权限无需密码

相关内容