我已经通过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"用户......有人发生了什么事吗?
谢谢!
答案 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/
感谢。