Les choses sérieuses commencent
This commit is contained in:
parent
7a9fe18463
commit
c63f62721b
41 changed files with 1270 additions and 0 deletions
56
erminig/cli/init.py
Normal file
56
erminig/cli/init.py
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from erminig.system.security import check_root, check_user_exists
|
||||
from erminig.config import Config # Voilà la différence clé !
|
||||
|
||||
PAK_USER = Config.PAK_USER
|
||||
|
||||
|
||||
def create_user_pak():
|
||||
"""Crée l'utilisateur pak si nécessaire."""
|
||||
if check_user_exists(PAK_USER):
|
||||
print(f"[INIT] Utilisateur '{PAK_USER}' existe déjà.")
|
||||
return
|
||||
|
||||
print(f"[INIT] Création de l'utilisateur '{PAK_USER}'...")
|
||||
subprocess.run(
|
||||
[
|
||||
"useradd",
|
||||
"-r",
|
||||
"-d",
|
||||
str(Config.LIB_DIR),
|
||||
"-s",
|
||||
"/usr/sbin/nologin",
|
||||
PAK_USER,
|
||||
],
|
||||
check=True,
|
||||
)
|
||||
print(f"[INIT] Utilisateur '{PAK_USER}' créé.")
|
||||
|
||||
|
||||
def setup_directories():
|
||||
"""Crée les dossiers nécessaires et assigne les permissions."""
|
||||
for directory in [Config.LIB_DIR, Config.CACHE_DIR]:
|
||||
if not directory.exists():
|
||||
print(f"[INIT] Création du dossier {directory}...")
|
||||
directory.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
print(f"[INIT] Attribution de {directory} à '{PAK_USER}'...")
|
||||
subprocess.run(
|
||||
["chown", "-R", f"{PAK_USER}:{PAK_USER}", str(directory)], check=True
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
check_root()
|
||||
|
||||
create_user_pak()
|
||||
setup_directories()
|
||||
|
||||
print("[INIT] Environnement Erminig initialisé avec succès.")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue