\x89PNG\r\n\x1a\n\x00\x00\x00\x0DIHDR\x00\x00\x00\x01\x00 \x00\x00\x01\x08\x06\x00\x00\x00\x1F\x15\xC4\x89\x00\x00\x00 \x0AIDATx\x9Ccb\x00\x00\x00\x06\x00\x03\x1A\x05\x9D\x00\x00 \x00\x00IEND\xAE\x42\x60\x82
| Path : /var/www/html/yedekledb24/DatabaseBackupMasterv5/ |
|
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
| Current File : /var/www/html/yedekledb24/DatabaseBackupMasterv5/add_admin.py |
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
yedekleDB24 için admin kullanıcısı ekleme scripti.
Bu script, veritabanına direkt olarak admin kullanıcısı ekler.
"""
import os
import sys
import logging
from dotenv import load_dotenv
from app import app, db
from models import User
from werkzeug.security import generate_password_hash
# Logging konfigürasyonu
logging.basicConfig(level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
def add_admin_user(username, password, email="admin@example.com", force=False):
"""
Admin kullanıcısı ekler.
Args:
username (str): Kullanıcı adı
password (str): Şifre
email (str): E-posta adresi (varsayılan: admin@example.com)
force (bool): Mevcut kullanıcı varsa zorla eklemek için True olarak ayarlayın
Returns:
bool: Başarılı ise True, başarısız ise False
"""
with app.app_context():
try:
# Kullanıcı zaten var mı kontrol et
existing_user = User.query.filter_by(username=username).first()
if existing_user:
if not force:
logger.error(f"'{username}' adlı kullanıcı zaten mevcut!")
return False
else:
# Force seçeneği etkinse ve kullanıcı mevcutsa, şifreyi değiştir
existing_user.password_hash = generate_password_hash(password)
existing_user.is_admin = True
db.session.commit()
logger.info(f"'{username}' kullanıcısının şifresi ve admin durumu güncellendi!")
return True
# Yeni admin kullanıcısı oluştur
new_admin = User(
username=username,
email=email,
is_admin=True
)
new_admin.password_hash = generate_password_hash(password)
# Veritabanına ekle
db.session.add(new_admin)
db.session.commit()
logger.info(f"Admin kullanıcısı '{username}' başarıyla oluşturuldu!")
return True
except Exception as e:
logger.error(f"Admin kullanıcısı eklenirken hata oluştu: {str(e)}")
db.session.rollback()
return False
def main():
"""Ana fonksiyon"""
# Komut satırı argümanları
username = "admin"
password = "Ainahv5aVaw2EeP"
email = "admin@example.com"
force = True
# Admin kullanıcısı ekle
success = add_admin_user(username, password, email, force)
if success:
print(f"Admin kullanıcısı '{username}' başarıyla oluşturuldu/güncellendi!")
sys.exit(0)
else:
print("Admin kullanıcısı eklenemedi. Lütfen log dosyasını kontrol edin.")
sys.exit(1)
if __name__ == "__main__":
main()