mirror of https://github.com/jumpserver/jumpserver
chgSudo修改
parent
582418797d
commit
e3078d2ac6
|
@ -625,9 +625,48 @@ def chgSudo(request):
|
||||||
username = request.GET.get('username')
|
username = request.GET.get('username')
|
||||||
if not username:
|
if not username:
|
||||||
return HttpResponseRedirect('/showUser/')
|
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:
|
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
|
@admin_required
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<fieldset >
|
<fieldset >
|
||||||
<legend>{{ username }}</legend>
|
<legend>{{ username }}--修改sudo</legend>
|
||||||
<form class="form-horizontal" role="form" method="post" action="/chgSudo/?addHost=1" >
|
<form class="form-horizontal" role="form" method="post" action="/chgSudo/?addHost=1" >
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
|
<input type="text" name="username" value="{{ username }}" hidden="hidden">
|
||||||
<input type="text" class="form-control" name="host" placeholder="主机IP,多个逗号分隔">
|
<input type="text" class="form-control" name="host" placeholder="主机IP,多个逗号分隔">
|
||||||
<span class="input-group-btn">
|
<span class="input-group-btn">
|
||||||
<button class="btn btn-success" type="button">新增主机</button>
|
<button class="btn btn-success" type="button">新增主机</button>
|
||||||
|
@ -20,9 +21,10 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
|
<input type="text" name="username" value="{{ username }}" hidden="hidden">
|
||||||
<input type="text" class="form-control" name="host" placeholder="主机IP,多个逗号分隔">
|
<input type="text" class="form-control" name="host" placeholder="主机IP,多个逗号分隔">
|
||||||
<span class="input-group-btn">
|
<span class="input-group-btn">
|
||||||
<button class="btn btn-danger" type="button">删除主机</button>
|
<button class="btn btn-primary" type="button">删除主机</button>
|
||||||
</span>
|
</span>
|
||||||
</div><!-- /input-group -->
|
</div><!-- /input-group -->
|
||||||
</div><!-- /.col-lg-6 -->
|
</div><!-- /.col-lg-6 -->
|
||||||
|
@ -34,9 +36,10 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<div class="input-group">
|
<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">
|
<span class="input-group-btn">
|
||||||
<button class="btn btn-success" type="button">添加命令</button>
|
<button class="btn btn-info" type="button">添加命令</button>
|
||||||
</span>
|
</span>
|
||||||
</div><!-- /input-group -->
|
</div><!-- /input-group -->
|
||||||
</div><!-- /.col-lg-6 -->
|
</div><!-- /.col-lg-6 -->
|
||||||
|
@ -48,7 +51,8 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<div class="input-group">
|
<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">
|
<span class="input-group-btn">
|
||||||
<button class="btn btn-danger" type="button">删除命令</button>
|
<button class="btn btn-danger" type="button">删除命令</button>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -2,14 +2,16 @@
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<fieldset >
|
<fieldset >
|
||||||
<legend>{{ username }}</legend>
|
<legend>{{ username }}</legend>
|
||||||
<div class="alert alert-success" role="alert"><b>允许sudo的主机:</b></div>允许sudo的主机:
|
<b>允许sudo的主机:</b>
|
||||||
|
<hr />
|
||||||
<ul class="list-group">
|
<ul class="list-group">
|
||||||
{% for host in sudoHost %}
|
{% for host in sudoHost %}
|
||||||
<li class="list-group-item">{{ host }}</li>
|
<li class="list-group-item">{{ host }}</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
<br />
|
<br />
|
||||||
<div class="alert alert-success" role="alert"><b>允许的sudo命令:</b></div>允许sudo的主机:
|
<b>允许的sudo命令:</b>
|
||||||
|
<hr />
|
||||||
<ul class="list-group">
|
<ul class="list-group">
|
||||||
{% for cmd in sudoCommand %}
|
{% for cmd in sudoCommand %}
|
||||||
<li class="list-group-item">{{ cmd }}</li>
|
<li class="list-group-item">{{ cmd }}</li>
|
||||||
|
|
Loading…
Reference in New Issue