mirror of https://github.com/jumpserver/jumpserver
修改一点点
parent
9191d3b6e5
commit
41dbfbb335
|
@ -122,10 +122,8 @@ class LDAPMgmt():
|
|||
def list(self, filter, scope=ldap.SCOPE_SUBTREE, attr=None):
|
||||
try:
|
||||
ldap_result = self.conn.search_s(self.ldap_base_dn, scope, filter, attr)
|
||||
print 'Here is the result: '
|
||||
for entry in ldap_result:
|
||||
name, data = entry
|
||||
print '#'*20, name, '#'*20
|
||||
for k, v in data.items():
|
||||
print '%s: %s' % (k,v)
|
||||
except ldap.LDAPError, e:
|
||||
|
@ -349,8 +347,10 @@ def showUser(request):
|
|||
ldap_del = LDAPMgmt()
|
||||
user_dn = "uid=%s,ou=People,%s" % (username, ldap_base_dn)
|
||||
group_dn = "cn=%s,ou=Group,%s" % (username, ldap_base_dn)
|
||||
sudo_dn = 'cn=%s,ou=Sudoers,%s' % (username, ldap_base_dn)
|
||||
ldap_del.delete(user_dn)
|
||||
ldap_del.delete(group_dn)
|
||||
ldap_del.delete(sudo_dn)
|
||||
except Exception, e:
|
||||
error = u'ldap中用户删除错误' + unicode(e)
|
||||
|
||||
|
@ -442,17 +442,30 @@ def addUser(request):
|
|||
'gidNumber': [str(u.id)],
|
||||
'homeDirectory': [str('/home/%s' % username)]}
|
||||
|
||||
group_dn = "cn=%s,out=Group,%s" % (username, ldap_base_dn)
|
||||
group_dn = "cn=%s,ou=Group,%s" % (username, ldap_base_dn)
|
||||
group_attr = {
|
||||
'objectClass': ['posixGroup', 'top'],
|
||||
'cn': [str(username)],
|
||||
'userPassword': ['{crypt}x'],
|
||||
'gidNumber': [str(u.id)]
|
||||
}
|
||||
|
||||
sudo_dn = 'cn=%s,ou=Sudoers,%s' % (username, ldap_base_dn)
|
||||
sudo_attr = {
|
||||
'objectClass': ['top'],
|
||||
'objectClass': ['sudoRole'],
|
||||
'cn': ['%s' % username],
|
||||
'sudoCommand': ['/bin/pwd'],
|
||||
'sudoHost': ['192.168.1.1'],
|
||||
'sudoOption': ['!authenticate'],
|
||||
'sudoRunAsUser': ['root'],
|
||||
'sudoUser': ['%s' % username]
|
||||
}
|
||||
ldap_conn = LDAPMgmt()
|
||||
try:
|
||||
ldap_conn.add(user_dn, user_attr)
|
||||
ldap_conn.add(group_dn, group_attr)
|
||||
ldap_conn.add(sudo_dn, sudo_attr)
|
||||
except Exception, e:
|
||||
error = u'添加ladp用户失败' + unicode(e)
|
||||
try:
|
||||
|
@ -460,6 +473,7 @@ def addUser(request):
|
|||
u.delete()
|
||||
ldap_conn.delete(user_dn)
|
||||
ldap_conn.delete(group_dn)
|
||||
ldap_conn.delete(sudo_dn)
|
||||
except Exception:
|
||||
pass
|
||||
return render_to_response('addUser.html', {'user_menu': 'active', 'form': form, 'error': error},
|
||||
|
@ -585,6 +599,15 @@ def chgGroup(request):
|
|||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
@admin_required
|
||||
def showSudo(request):
|
||||
if request.method == 'GET':
|
||||
username = request.GET.get('username')
|
||||
if not username:
|
||||
return HttpResponseRedirect('/showUser/')
|
||||
|
||||
|
||||
|
||||
@admin_required
|
||||
def showAssets(request):
|
||||
"""查看服务器"""
|
||||
|
@ -779,6 +802,9 @@ def chgKey(request):
|
|||
if password != password_again:
|
||||
error = '密码不匹配'
|
||||
|
||||
if len(password) < 5:
|
||||
error = '密码长度需要>5'
|
||||
|
||||
if error:
|
||||
return render_to_response('info.html', {'error': error})
|
||||
|
||||
|
@ -787,7 +813,7 @@ def chgKey(request):
|
|||
ret = bash('ssh-keygen -p -P %s -N %s -f %s' % (jm.decrypt(user.key_pass), password, keyfile))
|
||||
if ret != 0:
|
||||
error = '更改私钥密码错误'
|
||||
return render_to_response('info.hmtl', {'error': error})
|
||||
return render_to_response('info.html', {'error': error})
|
||||
user.key_pass = password
|
||||
user.save()
|
||||
|
||||
|
|
|
@ -92,7 +92,6 @@
|
|||
<li><a href="/addUser/"><i class="glyphicon glyphicon-send"></i> 添加用户</a></li>
|
||||
<li><a href="/showGroup/"><i class="glyphicon glyphicon-send"></i> 查看属组</a></li>
|
||||
<li><a href="/addGroup/"><i class="glyphicon glyphicon-send"></i> 添加属组</a></li>
|
||||
<li><a href="/addUser/"><i class="glyphicon glyphicon-send"></i> Sudo管理</a></li>
|
||||
</ul>
|
||||
<!--<div class="menu-first" ><a href="#monitorMenu" data-toggle="collapse"><i class="glyphicon glyphicon-th"></i> 执行命令</a></div>
|
||||
<ul id="monitorMenu" class="nav nav-list navbar-collapse.in menu-second">
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
<th>Email</th>
|
||||
<th>Key</th>
|
||||
<th>修改</th>
|
||||
<th>sudo</th>
|
||||
<th>sudo</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -39,6 +41,8 @@
|
|||
<td>{{ user.email }}</td>
|
||||
<td><a href="/downKey/?username={{ user.username }}">下载</a></td>
|
||||
<td><a href="/chgUser/?username={{ user.username }}">修改</a></td>
|
||||
<td><a href="/showSudo/?username={{ user.username }">查看</a></td>
|
||||
<td><a href="/chgSudo/?username={{ user.username }">修改</a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
|
Loading…
Reference in New Issue