Initial commit: Key Ajans portfolio site
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Admin hesaplarını PROJE DIŞINA kaydeder: ~/.config/key-ajansi/admins.json
|
||||
|
||||
Kullanım:
|
||||
python3 setup_admins.py # rastgele güçlü şifreler üretir
|
||||
ADMIN1_PW=... ADMIN2_PW=... python3 setup_admins.py # kendi şifrenizi verin
|
||||
|
||||
Dosyada yalnızca şifrelenmiş (hash) kopyalar saklanır; düz şifre asla yazılmaz.
|
||||
"""
|
||||
import json
|
||||
import os
|
||||
import secrets
|
||||
import sys
|
||||
|
||||
from werkzeug.security import generate_password_hash
|
||||
|
||||
import security
|
||||
|
||||
ADMIN1_USER = "eymenmert"
|
||||
ADMIN1_NAME = "Eymen Mert YİĞİT"
|
||||
ADMIN2_USER = "mehmedkudret"
|
||||
ADMIN2_NAME = "Mehmed Kudret ERDOĞMUŞ"
|
||||
|
||||
|
||||
def main():
|
||||
pw1 = os.environ.get("ADMIN1_PW") or secrets.token_urlsafe(12)
|
||||
pw2 = os.environ.get("ADMIN2_PW") or secrets.token_urlsafe(12)
|
||||
|
||||
if security.CONFIG_PATH == security.DEFAULT_CONFIG_PATH and os.path.exists(security.CONFIG_PATH):
|
||||
sys.exit("Yapılandırma zaten var. Sıfırlamak için dosyayı silin:\n " + security.CONFIG_PATH)
|
||||
|
||||
payload = {
|
||||
"secret": secrets.token_urlsafe(48),
|
||||
"admins": [
|
||||
{
|
||||
"username": ADMIN1_USER,
|
||||
"display_name": ADMIN1_NAME,
|
||||
"password_hash": generate_password_hash(pw1, method="pbkdf2:sha256"),
|
||||
},
|
||||
{
|
||||
"username": ADMIN2_USER,
|
||||
"display_name": ADMIN2_NAME,
|
||||
"password_hash": generate_password_hash(pw2, method="pbkdf2:sha256"),
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
os.makedirs(os.path.dirname(security.CONFIG_PATH), exist_ok=True)
|
||||
with open(security.CONFIG_PATH, "w", encoding="utf-8") as fh:
|
||||
json.dump(payload, fh, indent=2, ensure_ascii=False)
|
||||
os.chmod(security.CONFIG_PATH, 0o600)
|
||||
|
||||
print("Admin yapılandırması kaydedildi:", security.CONFIG_PATH)
|
||||
print()
|
||||
print(f" Admin 1 | kullanıcı adı: {ADMIN1_USER} | şifre: {pw1}")
|
||||
print(f" Admin 2 | kullanıcı adı: {ADMIN2_USER} | şifre: {pw2}")
|
||||
print()
|
||||
print("Bu şifreleri güvenli bir yere not edin; bir daha gösterilmez.")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user