Python 作为非root用户执行sudo命令的Salt minion始终返回错误;函数';state.highstate';正在作为PID运行……”;
我正在尝试将Python 作为非root用户执行sudo命令的Salt minion始终返回错误;函数';state.highstate';正在作为PID运行……”;,python,linux,salt-stack,Python,Linux,Salt Stack,我正在尝试将salt minion配置为以非root用户身份运行,但通过sudo用户运行其所有命令,这在最新版本中似乎是可能的 我创建了my minion用户,授予它sudo权限,并确保执行命令不需要密码,并相应地配置了minion /etc/sudoers # sudo privileges and permission to execute cmds with no password my-minion ALL=(ALL) NOPASSWD:ALL /etc/salt/minion # T
salt minion
配置为以非root用户身份运行,但通过sudo
用户运行其所有命令,这在最新版本中似乎是可能的
我创建了my minion用户,授予它sudo权限,并确保执行命令不需要密码,并相应地配置了minion
/etc/sudoers
# sudo privileges and permission to execute cmds with no password
my-minion ALL=(ALL) NOPASSWD:ALL
/etc/salt/minion
# The user to run salt.
user: my-minion
sudo_user: root
The function "state.highstate" is running as PID 17121 and was started at 2015, Jul 28 15:58:08.625398 with jid 20150728155808625398
但是在执行salt'*'state.highstate
之后,仆从总是返回以下错误-
/var/log/salt/minion
# The user to run salt.
user: my-minion
sudo_user: root
The function "state.highstate" is running as PID 17121 and was started at 2015, Jul 28 15:58:08.625398 with jid 20150728155808625398
调试日志中没有任何特别有用的东西,除了state.highstate
两次加载lazyload
之外。我确实带着日志。如果需要,请告诉我
我非常确定我根据以下文档正确地配置了所有内容-
我使用的salt
版本是2015.5.3(锂),操作系统是CentOS 6.6
注意:
当我在minion
config文件中简单地注释sudo\u user
属性时,错误就消失了,但显然我没有得到我想要的功能。所以很确定这是一个问题,因为这只是一个属性,而不是其他任何东西
如果有人能为我指出正确的方向或澄清这是否是salt实现中的错误,我将不胜感激。尝试重新启动您的salt仆从守护程序。如果不起作用,请尝试删除
/var/cache/salt/master/proc
目录并重新启动salt-minion守护程序
您看到的错误是Salt检查另一个highstate是否正在运行,并阻止您运行另一个highstate。您需要确保它没有这样做。我已经面临这个问题。我试图清理缓存,重新启动仆从,但没有工作。你需要终止这个过程
salt '*' saltutil.kill_job 20150728155808625398
我不知道你在说什么,sls。你需要找到你在仆从身上用“state.highstate”启动的进程并杀死它。Saltstack只允许同时运行一个.sls文件。如果不终止进程,它将无法高状态显示另一个.sls文件 如果你只是
sudo su
或者其他什么成为root,然后做你想做的事情,这不是容易多了吗?或者这违背了你的全部目的吗?以root运行一切都像是一种魅力,但是的,这违背了我试图实现的目标。不,我已经尝试过多次重启我的盐仆,但都没有任何运气。删除proc文件夹也没有帮助。正如我所提到的,当我在minion配置文件中注释掉sudo_user属性时,不会发生这种情况。所以,我认为这不是state.highstate已经运行的问题。这也没有帮助。没有以前的state.highstate
作业正在运行,因此没有什么可杀死的。我认为这是salt的sudo\u user
属性实现中的一个bug,它两次生成了state.highstate
。这不是问题所在