Commit a864c382 authored by 紫川秀's avatar 紫川秀 Committed by 老广

修复sudo别名取消后不回收bug (#322)

parent 54740822
...@@ -409,6 +409,17 @@ class MyTask(MyRunner): ...@@ -409,6 +409,17 @@ class MyTask(MyRunner):
self.run("script", module_args1, become=True) self.run("script", module_args1, become=True)
return self.results return self.results
def recyle_cmd_alias(self, role_name):
"""
recyle sudo cmd alias
:return:
"""
if role_name == 'root':
return {"status": "failed", "msg": "can't recyle root privileges"}
module_args = "sed -i 's/^%s.*//' /etc/sudoers" % role_name
self.run("command", module_args, become=True)
return self.results
class CustomAggregateStats(callbacks.AggregateStats): class CustomAggregateStats(callbacks.AggregateStats):
""" """
......
...@@ -533,6 +533,8 @@ def perm_role_push(request): ...@@ -533,6 +533,8 @@ def perm_role_push(request):
sudo_list = set([sudo for sudo in role.sudo.all()]) # set(sudo1, sudo2, sudo3) sudo_list = set([sudo for sudo in role.sudo.all()]) # set(sudo1, sudo2, sudo3)
if sudo_list: if sudo_list:
ret['sudo'] = task.push_sudo_file([role], sudo_list) ret['sudo'] = task.push_sudo_file([role], sudo_list)
else:
ret['sudo'] = task.recyle_cmd_alias(role.name)
logger.debug('推送role结果: %s' % ret) logger.debug('推送role结果: %s' % ret)
success_asset = {} success_asset = {}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment