mirror of
https://github.com/midoks/mdserver-web.git
synced 2026-10-18 23:45:52 +08:00
update
This commit is contained in:
@@ -7,6 +7,9 @@ import time
|
||||
import subprocess
|
||||
import re
|
||||
|
||||
reload(sys)
|
||||
sys.setdefaultencoding('utf-8')
|
||||
|
||||
sys.path.append(os.getcwd() + "/class/core")
|
||||
import public
|
||||
|
||||
@@ -365,6 +368,16 @@ def isSqlError(mysqlMsg):
|
||||
return None
|
||||
|
||||
|
||||
def mapToList(map_obj):
|
||||
# map to list
|
||||
try:
|
||||
if type(map_obj) != list and type(map_obj) != str:
|
||||
map_obj = list(map_obj)
|
||||
return map_obj
|
||||
except:
|
||||
return []
|
||||
|
||||
|
||||
def getDbList():
|
||||
args = getArgs()
|
||||
page = 1
|
||||
@@ -473,6 +486,46 @@ def setRootPwd():
|
||||
return public.returnJson(False, '修改错误:' + str(ex))
|
||||
|
||||
|
||||
def setUserPwd():
|
||||
args = getArgs()
|
||||
data = checkArgs(args, ['password', 'name'])
|
||||
if not data[0]:
|
||||
return data[1]
|
||||
|
||||
newpassword = args['password']
|
||||
username = args['name']
|
||||
id = args['id']
|
||||
try:
|
||||
pdb = pMysqlDb()
|
||||
psdb = pSqliteDb('databases')
|
||||
name = psdb.where('id=?', (id,)).getField('name')
|
||||
|
||||
m_version = public.readFile(getServerDir() + '/version.pl')
|
||||
if m_version.find('5.7') == 0 or m_version.find('8.0') == 0:
|
||||
tmp = pdb.query(
|
||||
"select Host from mysql.user where User='" + name + "' AND Host!='localhost'")
|
||||
accept = mapToList(tmp)
|
||||
pdb.execute(
|
||||
"update mysql.user set authentication_string='' where User='" + username + "'")
|
||||
result = pdb.execute(
|
||||
"ALTER USER `%s`@`localhost` IDENTIFIED BY '%s'" % (username, newpassword))
|
||||
for my_host in accept:
|
||||
pdb.execute("ALTER USER `%s`@`%s` IDENTIFIED BY '%s'" % (
|
||||
username, my_host[0], newpassword))
|
||||
else:
|
||||
result = pdb.execute("update mysql.user set Password=password('" +
|
||||
newpassword + "') where User='" + username + "'")
|
||||
isError = isSqlError(result)
|
||||
if isError != None:
|
||||
return isError
|
||||
pdb.execute("flush privileges")
|
||||
psdb.where("id=?", (id,)).setField('password', newpassword)
|
||||
return public.returnJson(True, public.getInfo('修改数据库[{1}]密码成功!', (name)))
|
||||
except Exception as ex:
|
||||
print str(ex)
|
||||
return public.returnJson(False, public.getInfo('修改数据库[{1}]密码失败!', (name)))
|
||||
|
||||
|
||||
def __createUser(dbname, username, password, address):
|
||||
pdb = pMysqlDb()
|
||||
pdb.execute(
|
||||
@@ -586,6 +639,30 @@ def delDb():
|
||||
except Exception as ex:
|
||||
return public.returnJson(False, '删除失败!' + str(ex))
|
||||
|
||||
|
||||
def getDbAccess():
|
||||
args = getArgs()
|
||||
data = checkArgs(args, ['username'])
|
||||
if not data[0]:
|
||||
return data[1]
|
||||
username = args['username']
|
||||
pdb = pMysqlDb()
|
||||
|
||||
users = pdb.query("select Host from mysql.user where User='" +
|
||||
username + "' AND Host!='localhost'")
|
||||
isError = isSqlError(users)
|
||||
if isError != None:
|
||||
return isError
|
||||
|
||||
users = mapToList(users)
|
||||
if len(users) < 1:
|
||||
return public.returnJson(True, "127.0.0.1")
|
||||
accs = []
|
||||
for c in users:
|
||||
accs.append(c[0])
|
||||
userStr = ','.join(accs)
|
||||
return public.returnJson(True, userStr)
|
||||
|
||||
if __name__ == "__main__":
|
||||
func = sys.argv[1]
|
||||
if func == 'status':
|
||||
@@ -630,5 +707,9 @@ if __name__ == "__main__":
|
||||
print syncGetDatabases()
|
||||
elif func == 'set_root_pwd':
|
||||
print setRootPwd()
|
||||
elif func == 'set_user_pwd':
|
||||
print setUserPwd()
|
||||
elif func == 'get_db_access':
|
||||
print getDbAccess()
|
||||
else:
|
||||
print 'error'
|
||||
|
||||
+19
-15
@@ -487,6 +487,13 @@ function copyPass(password){
|
||||
$("#bt_copys").click();
|
||||
}
|
||||
|
||||
function setDbAccess(username){
|
||||
myPost('get_db_access','username='+username, function(data){
|
||||
console.log(data);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function setDbPass(id, username, password){
|
||||
|
||||
var index = layer.open({
|
||||
@@ -500,12 +507,13 @@ function setDbPass(id, username, password){
|
||||
content: "<form class='bt-form pd20 pb70' id='mod_pwd'>\
|
||||
<div class='line'>\
|
||||
<span class='tname'>用户名</span>\
|
||||
<div class='info-r'><input name=\"name\" class='bt-input-text mr5' type='text' style='width:330px' value='"+username+"' /></div>\
|
||||
<div class='info-r'><input readonly='readonly' name=\"name\" class='bt-input-text mr5' type='text' style='width:330px;outline:none;' value='"+username+"' /></div>\
|
||||
</div>\
|
||||
<div class='line'>\
|
||||
<span class='tname'>密码</span>\
|
||||
<div class='info-r'><input class='bt-input-text mr5' type='text' name='password' id='MyPassword' style='width:330px' value='"+password+"' /><span title='随机密码' class='glyphicon glyphicon-repeat cursor' onclick='repeatPwd(16)'></span></div>\
|
||||
</div>\
|
||||
<input type='hidden' name='id' value='"+id+"'>\
|
||||
<div class='bt-form-submit-btn'>\
|
||||
<button id='my_mod_close' type='button' class='btn btn-danger btn-sm btn-title'>关闭</button>\
|
||||
<button id='my_mod_save' type='button' class='btn btn-success btn-sm btn-title'>提交</button>\
|
||||
@@ -519,15 +527,13 @@ function setDbPass(id, username, password){
|
||||
|
||||
$('#my_mod_save').click(function(){
|
||||
var data = $("#mod_pwd").serialize();
|
||||
console.log(data);
|
||||
// myPost('set_root_pwd', data, function(data){
|
||||
// var rdata = $.parseJSON(data.data);
|
||||
// // console.log(rdata);
|
||||
// showMsg(rdata.msg,function(){
|
||||
// dbList();
|
||||
// $('.layui-layer-close1').click();
|
||||
// },{icon: rdata.status ? 1 : 2});
|
||||
// });
|
||||
myPost('set_user_pwd', data, function(data){
|
||||
var rdata = $.parseJSON(data.data);
|
||||
showMsg(rdata.msg,function(){
|
||||
dbList();
|
||||
$('.layui-layer-close1').click();
|
||||
},{icon: rdata.status ? 1 : 2});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -679,10 +685,8 @@ function dbList(page, search){
|
||||
}
|
||||
myPost('get_db_list', _data, function(data){
|
||||
var rdata = $.parseJSON(data.data);
|
||||
// console.log(rdata);
|
||||
var list = '';
|
||||
for(i in rdata.data){
|
||||
// console.log(i, rdata.data[i]);
|
||||
list += '<tr>';
|
||||
list +='<td><input value="1" class="check" onclick="bt.check_select();" type="checkbox"></td>';
|
||||
list += '<td>' + rdata.data[i]['name'] +'</td>';
|
||||
@@ -697,9 +701,9 @@ function dbList(page, search){
|
||||
list += '<td style="text-align:right">' +
|
||||
'<a href="javascript:;" class="btlink" onclick="openPhpmyadmin(\''+rdata.data[i]['name']+'\',\''+rdata.data[i]['username']+'\',\''+rdata.data[i]['password']+'\')" title="数据库管理">管理</a> | ' +
|
||||
'<a href="javascript:;" class="btlink" title="MySQL优化修复工具">工具</a> | ' +
|
||||
'<a href="javascript:;" class="btlink" title="设置数据库权限">权限</a> | ' +
|
||||
'<a href="javascript:;" class="btlink" onclick="setDbPass('+rdata.data[i]['id']+',\''+ rdata.data[i]['username'] +'\',\'' + rdata.data[i]['password'] + '\')">改密</a> | ' +
|
||||
'<a href="javascript:;" class="btlink" title="删除数据库" onclick="delDb(\''+rdata.data[i]['id']+'\',\''+rdata.data[i]['name']+'\')">删除</a>' +
|
||||
'<a href="javascript:;" class="btlink" onclick="setDbAccess(\''+rdata.data[i]['username']+'\')" title="设置数据库权限">权限</a> | ' +
|
||||
'<a href="javascript:;" class="btlink" onclick="setDbPass('+rdata.data[i]['id']+',\''+ rdata.data[i]['username'] +'\',\'' + rdata.data[i]['password'] + '\')">改密</a> | ' +
|
||||
'<a href="javascript:;" class="btlink" onclick="delDb(\''+rdata.data[i]['id']+'\',\''+rdata.data[i]['name']+'\')" title="删除数据库">删除</a>' +
|
||||
'</td>';
|
||||
list += '</tr>';
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
$cfg['blowfish_secret'] = 'd41d8cd98f00b204e9800998ecf8427e';
|
||||
$i = 0;
|
||||
$i++;
|
||||
$cfg['Servers'][$i]['auth_type'] = 'cookie';
|
||||
$cfg['Servers'][$i]['host'] = 'localhost';
|
||||
$cfg['Servers'][$i]['connect_type'] = 'tcp';
|
||||
$cfg['Servers'][$i]['compress'] = false;
|
||||
$cfg['Servers'][$i]['AllowNoPassword'] = false;
|
||||
$cfg['UploadDir'] = '';
|
||||
$cfg['SaveDir'] = '';
|
||||
?>
|
||||
@@ -109,12 +109,19 @@ def status():
|
||||
|
||||
def start():
|
||||
file_tpl = getPluginDir() + '/conf/phpmyadmin.conf'
|
||||
file_conf = getConf()
|
||||
file_run = getConf()
|
||||
|
||||
if not os.path.exists(file_conf):
|
||||
if not os.path.exists(file_run):
|
||||
centent = public.readFile(file_tpl)
|
||||
centent = contentReplace(centent)
|
||||
public.writeFile(file_conf, centent)
|
||||
public.writeFile(file_run, centent)
|
||||
|
||||
conf_run = getServerDir() + '/phpmyadmin/config.inc.php'
|
||||
if not os.path.exists(conf_run):
|
||||
conf_tpl = getPluginDir() + '/conf/config.inc.php'
|
||||
centent = public.readFile(conf_tpl)
|
||||
# centent = contentReplace(centent)
|
||||
print public.writeFile(conf_run, centent)
|
||||
|
||||
public.restartWeb()
|
||||
return 'ok'
|
||||
|
||||
Reference in New Issue
Block a user