Files
CyberPanel/plogical/adminPass.py

77 lines
2.4 KiB
Python
Raw Normal View History

2019-12-10 23:04:24 +05:00
#!/usr/local/CyberCP/bin/python
2019-03-30 14:21:52 +05:00
import os.path
import sys
import django
sys.path.append('/usr/local/CyberCP')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
django.setup()
2017-12-09 22:30:10 +05:00
import argparse
2019-03-30 14:21:52 +05:00
from loginSystem.models import Administrator, ACL
from plogical import hashPassword
from plogical.acl import ACLManager
from packages.models import Package
from baseTemplate.models import version
2017-12-09 22:30:10 +05:00
2022-04-24 22:41:34 +05:00
VERSION = '2.3'
2023-01-23 11:36:41 +05:00
BUILD = 3
2020-03-29 21:18:55 +05:00
2020-01-14 13:16:27 +01:00
if not os.geteuid() == 0:
sys.exit("\nOnly root can run this script\n")
2017-12-09 22:30:10 +05:00
def main():
parser = argparse.ArgumentParser(description='Reset admin user password!')
parser.add_argument('--password', help='New Password')
2021-01-20 00:15:59 +05:00
parser.add_argument('--api', help='Enable/Disable API')
2019-03-30 14:21:52 +05:00
args = parser.parse_args()
2017-12-09 22:30:10 +05:00
2021-01-20 00:15:59 +05:00
if args.api != None:
if args.api == '1':
admin = Administrator.objects.get(userName="admin")
admin.api = 1
admin.save()
print("API Enabled.")
else:
admin = Administrator.objects.get(userName="admin")
admin.api = 0
admin.save()
print("API Disabled.")
else:
2017-12-09 22:30:10 +05:00
2021-01-20 00:15:59 +05:00
adminPass = args.password
2017-12-09 22:30:10 +05:00
2021-01-20 00:15:59 +05:00
numberOfAdministrator = Administrator.objects.count()
if numberOfAdministrator == 0:
2021-01-20 00:15:59 +05:00
ACLManager.createDefaultACLs()
acl = ACL.objects.get(name='admin')
token = hashPassword.generateToken('admin', adminPass)
2017-12-09 22:30:10 +05:00
email = 'example@example.org'
2021-01-20 00:15:59 +05:00
admin = Administrator(userName="admin", password=hashPassword.hash_password(adminPass), type=1, email=email,
firstName="Cyber", lastName="Panel", acl=acl, token=token)
admin.save()
2017-12-09 22:30:10 +05:00
2021-01-20 00:15:59 +05:00
vers = version(currentVersion=VERSION, build=BUILD)
vers.save()
2019-12-25 18:25:18 +05:00
2021-01-20 00:15:59 +05:00
package = Package(admin=admin, packageName="Default", diskSpace=1000,
bandwidth=1000, ftpAccounts=1000, dataBases=1000,
emailAccounts=1000, allowedDomains=20)
package.save()
2019-03-30 14:21:52 +05:00
2021-03-14 10:54:12 +05:00
2021-01-20 00:15:59 +05:00
print("Admin password successfully changed!")
return 1
2019-03-30 14:21:52 +05:00
2021-01-20 00:15:59 +05:00
token = hashPassword.generateToken('admin', adminPass)
admin = Administrator.objects.get(userName="admin")
admin.password = hashPassword.hash_password(adminPass)
admin.token = token
admin.save()
print("Admin password successfully changed!")
2017-12-09 22:30:10 +05:00
if __name__ == "__main__":
2020-01-14 13:16:27 +01:00
main()