HEX
Server: LiteSpeed
System: Linux php-prod-3.spaceapp.ru 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: sarli3128 (1010)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
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)