Sziasztok!
Adott egy e-mail szerver amin a nextcloud (is) kezeli a felhasználókat akik így az email címükkel jelentkeztek be (több családi domain, semmi kereskedelmi megoldás). Eddig egyetlen nextcloud volt, most kérésre egy hosszabb teszt erejéig kell egy nextcloudot egy másik szerverre telepítenem ahol szintén levelezéssel együtt van rá szükség. Azt szeretném napok óta elérni, hogy ezen a nextcloudon csak egyetlen domain userei lennének láthatók/elérhetők, de egy istennek sem sikerül. A felhasználók kezelése a User Backend SQL Raw pluginnel megy évek óta problémamentesen, amihez a config.php-be a következő kódot kell illeszteni:
'user_backend_sql_raw' => array(
'db_name' => 'mail_server',
'db_user' => 'mail_admin',
'db_password' => 'USE_PASSWORD_DB_MAIL_ADMIN',
'queries' => array(
'get_password_hash_for_user' => 'SELECT password_hash FROM users_fqda WHERE fqda = :username',
'user_exists' => 'SELECT EXISTS(SELECT 1 FROM users_fqda WHERE fqda = :username)',
'get_users' => 'SELECT fqda FROM users_fqda WHERE (fqda ILIKE :search) OR (display_name ILIKE :search)',
'set_password_hash_for_user' => 'UPDATE users SET password_hash = :new_password_hash WHERE local = split_part(:username, \'@\', 1) AND domain = split_part(:username, \'@\', 2)',
'delete_user' => 'DELETE FROM users WHERE local = split_part(:username, \'@\', 1) AND domain = split_part(:username, \'@\', 2)',
'get_display_name' => 'SELECT display_name FROM users WHERE local = split_part(:username, \'@\', 1) AND domain = split_part(:username, \'@\', 2)',
'set_display_name' => 'UPDATE users SET display_name = :new_display_name WHERE local = split_part(:username, \'@\', 1) AND domain = split_part(:username, \'@\', 2)',
'count_users' => 'SELECT COUNT (*) FROM users',
'create_user' => 'INSERT INTO users (local, domain, password_hash) VALUES (split_part(:username, \'@\', 1), split_part(:username, \'@\', 2), :password_hash)',
),
'hash_algorithm_for_new_passwords' => 'argon2id',
),
Hogy a fenébe kell ebben beállítani, hogy a domain részt ne kérdezze le az adatbázisból, hanem legyen egy fixen beállított domain?
Nem vagyok sql guru, csak alapismereteim vannak és már két napja kísérletezek, próbáltam a \%valami.xxx%\-t beilleszteni a get_users-be meg az összes domain szó helyére is (próbáltam, hogy csak a get_users és a get_display_name-t hagytam a lekérdezésben, hatástalanul), de az occ user:list vagy hibára fut vagy kilistázza az összes domaint és a távoli nextcloud létre is hozza a könyvtáraikat :(. A legjobb lenne ha a 'queries' => array() előtt beállíthatnám egy változóban, de ha fixen drótozottan megy, az se lenne baj, de se így se úgy nem jöttem rá a helyes útra :(
Van valakinek ötlete/megoldása erre?