我已经通过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
谢谢。