chgSudo修改

pull/2/head
guanghongwei 2014-10-08 17:56:41 +08:00
parent 582418797d
commit e3078d2ac6
3 changed files with 54 additions and 9 deletions

View File

@ -625,9 +625,48 @@ def chgSudo(request):
username = request.GET.get('username')
if not username:
return HttpResponseRedirect('/showUser/')
return render_to_response('chgSudo.html')
return render_to_response('chgSudo.html',
{'username': username,
'user_menu': 'active',
},
context_instance=RequestContext(request))
else:
return HttpResponseRedirect('/')
l = LDAPMgmt()
username = request.POST.get('username')
user_dn = 'cn=%s,ou=Sudoers,%s' % (str(username), ldap_base_dn)
msg = ''
if request.POST.get('addHost') or request.POST.get('delHost'):
host = request.POST.get('host')
hosts = host.split(',')
ori_hosts = l.list('entryDN=cn=%s,ou=Sudoers,%s' %
(str(username), ldap_base_dn), attr=['sudoHost']).get('sudoHost')
if request.POST.get('addHost'):
new_hosts = list(set(ori_hosts.extend(hosts)))
else:
new_hosts = list(set(ori_hosts) - set(hosts))
l.modify(user_dn, {'sudoHost': new_hosts})
msg = '修改sudo主机成功' % hosts
if request.POST.get('addCMD') or request.POST.get('delCMD'):
cmd = request.POST.get('cmd')
cmds = cmd.split(',')
ori_cmds = l.list('entryDN=cn=%s,ou=Sudoers,%s' %
(str(username), ldap_base_dn), attr=['sudoCommand']).get('sudoCommand')
if request.POST.get('addCMD'):
new_cmds = list(set(ori_cmds.extend(cmds)))
else:
new_cmds = list(set(ori_hosts) - cmds)
l.modify(user_dn, {'sudoCommand': new_cmds})
msg = '修改sudo命令成功'
if msg:
return render_to_response('info.html',
{'msg': msg})
else:
return HttpResponseRedirect('/chgSudo/?username=%s' % username)
@admin_required

View File

@ -1,11 +1,12 @@
{% extends 'base.html' %}
{% block content %}
<fieldset >
<legend>{{ username }}</legend>
<legend>{{ username }}--修改sudo</legend>
<form class="form-horizontal" role="form" method="post" action="/chgSudo/?addHost=1" >
<div class="row">
<div class="col-lg-6">
<div class="input-group">
<input type="text" name="username" value="{{ username }}" hidden="hidden">
<input type="text" class="form-control" name="host" placeholder="主机IP,多个逗号分隔">
<span class="input-group-btn">
<button class="btn btn-success" type="button">新增主机</button>
@ -20,9 +21,10 @@
<div class="row">
<div class="col-lg-6">
<div class="input-group">
<input type="text" name="username" value="{{ username }}" hidden="hidden">
<input type="text" class="form-control" name="host" placeholder="主机IP,多个逗号分隔">
<span class="input-group-btn">
<button class="btn btn-danger" type="button">删除主机</button>
<button class="btn btn-primary" type="button">删除主机</button>
</span>
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
@ -34,9 +36,10 @@
<div class="row">
<div class="col-lg-6">
<div class="input-group">
<input type="text" class="form-control" name="cmds" placeholder="添加命令,多个逗号分隔">
<input type="text" name="username" value="{{ username }}" hidden="hidden">
<input type="text" class="form-control" name="cmd" placeholder="添加命令,多个逗号分隔">
<span class="input-group-btn">
<button class="btn btn-success" type="button">添加命令</button>
<button class="btn btn-info" type="button">添加命令</button>
</span>
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
@ -48,7 +51,8 @@
<div class="row">
<div class="col-lg-6">
<div class="input-group">
<input type="text" class="form-control" name="cmds" placeholder="删除命令,多个逗号分隔">
<input type="text" name="username" value="{{ username }}" hidden="hidden">
<input type="text" class="form-control" name="cmd" placeholder="删除命令,多个逗号分隔">
<span class="input-group-btn">
<button class="btn btn-danger" type="button">删除命令</button>
</span>

View File

@ -2,14 +2,16 @@
{% block content %}
<fieldset >
<legend>{{ username }}</legend>
<div class="alert alert-success" role="alert"><b>允许sudo的主机</b></div>允许sudo的主机
<b>允许sudo的主机</b>
<hr />
<ul class="list-group">
{% for host in sudoHost %}
<li class="list-group-item">{{ host }}</li>
{% endfor %}
</ul>
<br />
<div class="alert alert-success" role="alert"><b>允许的sudo命令</b></div>允许sudo的主机
<b>允许的sudo命令</b>
<hr />
<ul class="list-group">
{% for cmd in sudoCommand %}
<li class="list-group-item">{{ cmd }}</li>