在 CentOS7 上"Vagrant halt"命令不起作用



我已经通过VirtualBox和Vagrant创建了一个新的CentOS Linux发行版7.2.1511(核心)盒子,我也按照正确的步骤创建了它

"流浪者"以及";流浪ssh";命令工作正常,但当我尝试";流浪者停车;我得到以下错误:

以下SSH命令以非零退出状态响应。Vagrant认为这意味着命令失败了!

关闭-h现在

命令的标准偏差:

来自命令的Stderr:

sudo:没有tty,也没有指定的askpass程序

当我走进盒子时;流浪ssh";命令并运行";shutdown-h now";命令我被要求提供流浪用户密码:

[hww_vagrant@centos7x64~]$关闭-h现在===对org.freedesktop.login1.power-off进行身份验证===关闭系统需要进行身份验证。身份验证as:hww_vagrant密码:

它不应该问我,因为我已经在sudoers文件上添加了以下行:

hww_vagrant ALL=(ALL)NOPASSWD:ALL

,并且我也评论了sudoers文件上的以下行:

需要默认值

问题来了。。。。当流浪用户试图在我试图运行时关闭盒子时,我被要求输入密码;流浪者停车;它失败了。

我认为它应该适用于我的配置,但仍然通过";流浪者;使用者有人知道发生了什么事吗?

谢谢!

基于这篇文章,以下内容应该可以使用

创建具有内容的文件/etc/polkit-1/rules.d/00-stop-reboot.rules

polkit.addRule(function(action, subject) {
  if (action.id.indexOf("org.freedesktop.login1.hibernate") == 0) {
    return polkit.Result.AUTH_ADMIN;
  }
});
polkit.addRule(function(action, subject) {
  if (action.id.indexOf("org.freedesktop.login1.power-off") == 0) {
    return polkit.Result.AUTH_ADMIN;
  }
});
polkit.addRule(function(action, subject) {
  if (action.id.indexOf("org.freedesktop.login1.reboot") == 0) {
    return polkit.Result.AUTH_ADMIN;
  }
});
polkit.addRule(function(action, subject) {
  if (action.id.indexOf("org.freedesktop.login1.suspend") == 0) {
    return polkit.Result.AUTH_ADMIN;
  }
});

您必须在打包器中添加它(如果这是您创建盒子所使用的),或者在打包盒子之前添加它,这样当您运行vagrant halt命令

时,它将可用

最后,配置还可以。我的流浪用户属于wheel group,这是导致错误的原因。

我已经从车轮组中删除了我的流浪用户,它起了作用:

usermod -G "" user_vagrant

谢谢。

最新更新