没有工作"流浪汉停止"命令在CentOS7上

时间:2016-05-12 08:38:55

标签: vagrant virtualbox centos7

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

" Vagrant up"和" vagrant ssh"命令工作正常,但当我试图"流浪汉停止"我收到以下错误:

  

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

     

shutdown -h now

     

命令中的标准输出:

     

命令中的Stderr:

     

sudo:没有tty存在且没有指定askpass程序

当我进入盒子时," vagrant ssh"命令并运行" shutdown -h now"命令我被问到流浪者用户密码:

  

[hww_vagrant @ centos7x64~] $ shutdown -h now   ==== AUTHENTICATING FOR org.freedesktop.login1.power-off ===需要验证才能关闭系统电源。认证   as:hww_vagrant密码:

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

  

hww_vagrant ALL =(ALL)NOPASSWD:ALL

,我也在sudoers文件上评论了以下行:

  

默认值requiretty

这是问题....因为当我尝试运行时,当流浪者用户试图关闭电源时,我被要求输入密码" vagrant halt"它失败了。

我认为它应该适用于我的配置,但仍然会向我询问密码,以便通过" vagrant"用户......有人发生了什么事吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

基于此post,以下内容应该有效

使用内容

创建文件/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命令时可以使用此命令

答案 1 :(得分:0)

最后,配置还可以。我的流浪者用户属于轮组,导致错误。

我从wheel组中删除了我的vagrant_user并且它有效:

http://example.com/index.php/

感谢。