回收sudo用户, 添加sudo别名添加规则检查

pull/42/head
yumaojun 2016-01-07 15:21:39 +08:00
parent f6a228008b
commit beeb2442ad
1 changed files with 36 additions and 28 deletions

View File

@ -608,13 +608,16 @@ def perm_sudo_add(request):
""" """
# 渲染数据 # 渲染数据
header_title, path1, path2 = "Sudo命令", "别名管理", "添加别名" header_title, path1, path2 = "Sudo命令", "别名管理", "添加别名"
try:
if request.method == "POST": if request.method == "POST":
# 获取参数: name, comment # 获取参数: name, comment
name = request.POST.get("sudo_name").strip().upper() name = request.POST.get("sudo_name").strip().upper()
comment = request.POST.get("sudo_comment").strip() comment = request.POST.get("sudo_comment").strip()
commands = request.POST.get("sudo_commands").strip() commands = request.POST.get("sudo_commands").strip()
if not name or not commands:
raise ServerError(u"sudo name 和 commands是必填项!")
pattern = re.compile(r'[\n,\r]') pattern = re.compile(r'[\n,\r]')
commands = ', '.join(list_drop_str(pattern.split(commands), u'')) commands = ', '.join(list_drop_str(pattern.split(commands), u''))
logger.debug(u'添加sudo %s: %s' % (name, commands)) logger.debug(u'添加sudo %s: %s' % (name, commands))
@ -625,8 +628,8 @@ def perm_sudo_add(request):
sudo = PermSudo(name=name.strip(), comment=comment, commands=commands) sudo = PermSudo(name=name.strip(), comment=comment, commands=commands)
sudo.save() sudo.save()
msg = u"添加Sudo命令别名: %s" % name msg = u"添加Sudo命令别名: %s" % name
# 渲染数据 except ServerError, e:
error = e
return my_render('jperm/perm_sudo_add.html', locals(), request) return my_render('jperm/perm_sudo_add.html', locals(), request)
@ -643,11 +646,15 @@ def perm_sudo_edit(request):
sudo_id = request.GET.get("id") sudo_id = request.GET.get("id")
sudo = PermSudo.objects.get(id=sudo_id) sudo = PermSudo.objects.get(id=sudo_id)
try:
if request.method == "POST": if request.method == "POST":
name = request.POST.get("sudo_name").upper() name = request.POST.get("sudo_name").upper()
commands = request.POST.get("sudo_commands") commands = request.POST.get("sudo_commands")
comment = request.POST.get("sudo_comment") comment = request.POST.get("sudo_comment")
if not name or not commands:
raise ServerError(u"sudo name 和 commands是必填项!")
pattern = re.compile(r'[\n,\r]') pattern = re.compile(r'[\n,\r]')
commands = ', '.join(list_drop_str(pattern.split(commands), u'')).strip() commands = ', '.join(list_drop_str(pattern.split(commands), u'')).strip()
logger.debug(u'添加sudo %s: %s' % (name, commands)) logger.debug(u'添加sudo %s: %s' % (name, commands))
@ -658,7 +665,8 @@ def perm_sudo_edit(request):
sudo.save() sudo.save()
msg = u"更新命令别名: %s" % name msg = u"更新命令别名: %s" % name
except ServerError, e:
error = e
return my_render('jperm/perm_sudo_edit.html', locals(), request) return my_render('jperm/perm_sudo_edit.html', locals(), request)