1 | #!/usr/bin/python |
---|
2 | |
---|
3 | import MySQLdb |
---|
4 | import ConfigParser |
---|
5 | import time |
---|
6 | import os |
---|
7 | import subprocess as s |
---|
8 | import sys |
---|
9 | import bcrypt |
---|
10 | p = open( "/etc/lliurex-secrets/passgen/ldap.secret", "r" ) |
---|
11 | passwd= p.read().rstrip('\n') |
---|
12 | rc = 0 |
---|
13 | adminpassword="" |
---|
14 | while (rc == 0 and adminpassword=="" ): |
---|
15 | process = s.Popen(['zenity --forms --add-password="Password" --text="Introduce la contrasea para el administrador del moodle"'],shell=True,stdout=s.PIPE,stderr=s.PIPE) |
---|
16 | result = process.communicate() |
---|
17 | adminpassword = result[0].strip() |
---|
18 | rc = process.returncode |
---|
19 | if rc==1: |
---|
20 | sys.exit() |
---|
21 | |
---|
22 | try: |
---|
23 | config = ConfigParser.ConfigParser() |
---|
24 | config.read('/root/.my.cnf') |
---|
25 | user = config.get("mysql","user") |
---|
26 | password= config.get("mysql","password") |
---|
27 | except: |
---|
28 | user = False |
---|
29 | password = False |
---|
30 | |
---|
31 | try: |
---|
32 | connection=MySQLdb.connect(host="localhost",user=user,passwd=password,db='moodle') |
---|
33 | cursor = connection.cursor() |
---|
34 | try: |
---|
35 | #sql="UPDATE `moodle`.`mdl_config_plugins` SET `value` = '"+passwd+"' WHERE `mdl_config_plugins`.`name` like 'bind_pw' and `mdl_config_plugins`.`plugin` like 'auth/ldap';" |
---|
36 | #cursor.execute(sql) |
---|
37 | #connection.commit() |
---|
38 | #sql="UPDATE `moodle`.`mdl_config_plugins` SET `value` = 'cn=teachers,ou=Profiles,ou=Groups,dc=ma5,dc=lliurex,dc=net' WHERE `mdl_config_plugins`.`name` like 'creators' and `mdl_config_plugins`.`plugin` like 'auth/ldap';" |
---|
39 | #cursor.execute(sql) |
---|
40 | #connection.commit() |
---|
41 | |
---|
42 | passwordcrypted = bcrypt.hashpw(adminpassword,bcrypt.gensalt(10)) |
---|
43 | sql="UPDATE `moodle`.`mdl_user` SET `password` = '" + passwordcrypted + "' WHERE `mdl_user`.`username` = 'admin';" |
---|
44 | cursor.execute(sql) |
---|
45 | connection.commit() |
---|
46 | |
---|
47 | |
---|
48 | except Exception as e: |
---|
49 | print e |
---|
50 | cursor.close() |
---|
51 | |
---|
52 | except: |
---|
53 | print "[!] Error connecting to MySQL [!]" |
---|
54 | |
---|
55 | os.system('sudo -u www-data php /usr/share/moodle/admin/cli/purge_caches.php') |
---|
56 | |
---|