Portál AbcLinuxu, 8. května 2025 05:03
- name: Create icinga PG user postgresql_user: name: icinga password: "{{ pg_icinga_pass }}" priv: "public:SELECT" state: presentChci vytvořit uživatele jehož práva jsou analogická k těmto sql příkazům:
CREATE ROLE icinga WITH LOGIN ENCRYPTED PASSWORD 'SuperTajnéHeslo'; GRANT SELECT ON ALL TABLES IN SCHEMA public TO icinga;Ovšem modul mi pořád křičí takto: FAILED! => {"changed": false, "failed": true, "msg": "privileges require a database to be specified"} Co mi uniká?
Řešení dotazu:
GRANT SELECT ON ALL TABLES IN SCHEMA public TO icinga;
přidělí práva na schéma public v databázi, ve které jsi přihlášený, ne nějaká globální. Bez specifikované databáze to nedává smysl.
- name: Create DB user
sudo: yes
sudo_user: postgres
postgresql_user: name=dbuser password={{ pass }} role_attr_flags=NOCREATEDB,NOSUPERUSER state=present
- name: Create icinga user at {{ pgmaster }} become: yes become_user: postgres postgresql_user: name: icinga password: "{{ pg_icinga_pass.stdout }}" role_attr_flags: "NOCREATEDB,NOSUPERUSER" state: presentTakhle mi to zafungovalo a vytvořilo uživatele s potřebnými právy. Podotýkám že pro funkci modulu postgresql_user pod uživatelem postgres jsou zapotřebí balíčky libpq-dev, python-psycopg2 a acl
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.