Skip to Content

Ponastavitev skrbniškega gesla Odoo

reset_admin_password.py prek ORM ponastavi geslo uporabnika z ID 2 v obstoječi bazi Odoo 18. Ohrani zgoščevanje gesel Odoo in preverjanje nameščenih pravil za gesla. To je operativni ukaz za obnovitev dostopa sistemskega skrbnika s pooblaščenim dostopom do baze.

Predogled in izvedba

Zaženite ga kot storitveni račun v ustreznem virtualnem okolju Odoo, z isto konfiguracijo in izvorno kodo kot instanca. Prijava v Odoo ali glavno geslo upravljavca baz nista potrebna; povezavo PostgreSQL določa konfiguracija Odoo. Vloga potrebuje dostop do ciljne baze, ne pravice CREATEDB.

/srv/pmiverse/_pmisuite18/venv/bin/python \
  /srv/pmiverse/_pmiconfig/scripts/admin/reset_admin_password.py example_db \
  --dry-run

Za ponastavitev odstranite --dry-run. --config izbere konfiguracijo Odoo, --odoo-root pa izvorno kodo; obe privzeto kažeta na instanco _pmisuite18. Predogled se ne poveže s PostgreSQL, ne naloži Odoo in ne dostopa do datotek gesel.

Običajna izvedba naloži register nameščenih dodatkov, ne zahteva ustvarjanja baze, namestitve ali nadgradnje modulov in ne zažene strežnika HTTP ali cron. Uporabite delujočo združljivo izvorno kodo in se izognite sočasnemu vzdrževanju modulov.

Ukaz zavrne manjkajoče oziroma neinicializirane baze, manjkajoči ID 2 in račun brez dostopa do nastavitev. Arhivirani račun zahteva izrecni --activate; sicer se spremeni le geslo. Ukaz ne ustvarja uporabnikov, ne spreminja prijavnih imen, skupin, MFA, zunanje avtentikacije ali admin_passwd. Omejitve MFA/SSO ter posebna pravila prijave ali gesel lahko zahtevajo ločeno obnovitev. Sama ponastavitev ne popravi poškodovane baze ali ogrožene namestitve.

Ravnanje z gesli

Privzeto se pred spremembo računa novo naključno geslo shrani v:

/srv/pmiverse/_pmiprivate/<database>_reset_pass_<UTC timestamp>

Časovni žig vključuje mikrosekunde. Te datoteke so ločene od ustvarjalne datoteke <database>_init_pass, zato prvotne poverilnice ostanejo nedotaknjene. Mapa mora biti v lasti izvajalnega računa in dostopna samo njemu; manjkajoča mapa se ustvari z dovoljenji 0700. Nove datoteke gesel uporabljajo 0600 in izključno ustvarjanje. Simbolne povezave ter kolizije imen so zavrnjene. Račun potrebuje dovoljenje za ustvarjanje mape ali jo mora ločeno pripraviti skrbnik. Izpiše se samo ime datoteke, nikoli geslo.

--admin-password-file /secure/path/password namesto tega prebere obstoječo datoteko UTF-8, ki je v lasti izvajalnega računa in dostopna samo njemu. Ustvarjena datoteka gesla se ne zapiše. Zahteve za vhodno datoteko opisuje skupno ravnanje z gesli.

Geslo in morebitna aktivacija se zapišeta v eni transakciji ORM, potrjeni šele po uspešnem zapisu. Napaka ne pomeni potrjenega uspeha; izguba povezave med potrjevanjem lahko pusti izid negotov. Ustvarjene datoteke se ohranijo tudi ob neuspehu in morda ne ustrezajo geslu računa. Pred ponovitvijo preverite stanje računa. Po varni predaji datoteke hranite ali odstranite po običajnih pravilih za skrivnosti.

Podrobnosti skupnih pomočnikov, pravic uporabnikov in transakcijskih izidov so v vodniku izvedbe.