HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/plogical/emergency_2fa_disable.py
#!/usr/bin/env python
"""
Emergency script to temporarily disable 2FA for a locked-out admin user.
Run this script from the command line with the username as an argument.

Usage: python emergency_2fa_disable.py <username>
"""

import os
import sys
import django

# Setup Django environment
sys.path.append('/usr/local/CyberCP')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
django.setup()

from loginSystem.models import Administrator


def disable_2fa(username):
    """Temporarily disable 2FA for the specified user"""
    try:
        admin = Administrator.objects.get(userName=username)
        if admin.twoFA:
            admin.twoFA = 0
            admin.save()
            print(f"2FA has been temporarily disabled for user: {username}")
            print("Please login and re-enable 2FA from your account settings.")
        else:
            print(f"2FA is already disabled for user: {username}")
    except Administrator.DoesNotExist:
        print(f"User not found: {username}")
    except Exception as e:
        print(f"Error: {str(e)}")


if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python emergency_2fa_disable.py <username>")
        sys.exit(1)
    
    username = sys.argv[1]
    disable_2fa(username)