From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 8C00C1FF0E0 for ; Thu, 23 Jul 2026 11:08:39 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 0F046214A2; Thu, 23 Jul 2026 11:08:39 +0200 (CEST) From: Christian Ebner To: pbs-devel@lists.proxmox.com Subject: [PATCH proxmox-backup v5 01/15] bin: api/proxy: early init proxmox-product-config Date: Thu, 23 Jul 2026 11:08:01 +0200 Message-ID: <20260723090815.206114-2-c.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260723090815.206114-1-c.ebner@proxmox.com> References: <20260723090815.206114-1-c.ebner@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1784797685658 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.174 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_LOW -0.7 Sender listed at https://www.dnswl.org/, low trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: LWEZ5YQ4H3SX75744RNT6ANTKKG7JWMK X-Message-ID-Hash: LWEZ5YQ4H3SX75744RNT6ANTKKG7JWMK X-MailFrom: c.ebner@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Backup Server development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: In preparation for switching over config related helpers to the proxmox-product-config. These helpers rely on the priv- and api-user to already have been initialized. Signed-off-by: Christian Ebner --- src/bin/proxmox-backup-api.rs | 5 +++-- src/bin/proxmox-backup-proxy.rs | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/bin/proxmox-backup-api.rs b/src/bin/proxmox-backup-api.rs index e49532810..710a70042 100644 --- a/src/bin/proxmox-backup-api.rs +++ b/src/bin/proxmox-backup-api.rs @@ -48,6 +48,9 @@ async fn run() -> Result<(), Error> { .tasklog_pbs() .init()?; + let backup_user = pbs_config::backup_user()?; + proxmox_product_config::init(backup_user.clone(), pbs_config::priv_user()?); + config::create_configdir()?; config::update_self_signed_cert(false)?; @@ -75,10 +78,8 @@ async fn run() -> Result<(), Error> { proxmox_backup::auth_helpers::setup_auth_context(true); proxmox_backup::server::notifications::init()?; - let backup_user = pbs_config::backup_user()?; let mut command_sock = proxmox_daemon::command_socket::CommandSocket::new(backup_user.gid); - proxmox_product_config::init(backup_user.clone(), pbs_config::priv_user()?); proxmox_acme_api::init(configdir!("/acme"), true)?; let dir_opts = CreateOptions::new() diff --git a/src/bin/proxmox-backup-proxy.rs b/src/bin/proxmox-backup-proxy.rs index eb5443992..0ac187d7c 100644 --- a/src/bin/proxmox-backup-proxy.rs +++ b/src/bin/proxmox-backup-proxy.rs @@ -60,16 +60,17 @@ fn main() -> Result<(), Error> { proxmox_backup::tools::setup_safe_path_env(); - let backup_uid = pbs_config::backup_user()?.uid; - let backup_gid = pbs_config::backup_group()?.gid; + let backup_user = pbs_config::backup_user()?; + let backup_group = pbs_config::backup_group()?; let running_uid = nix::unistd::Uid::effective(); let running_gid = nix::unistd::Gid::effective(); - if running_uid != backup_uid || running_gid != backup_gid { + if running_uid != backup_user.uid || running_gid != backup_group.gid { bail!( "proxy not running as backup user or group (got uid {running_uid} gid {running_gid})" ); } + proxmox_product_config::init(backup_user, pbs_config::priv_user()?); proxmox_async::runtime::main(run()) } @@ -188,7 +189,6 @@ async fn run() -> Result<(), Error> { proxmox_backup::auth_helpers::setup_auth_context(false); proxmox_backup::server::notifications::init()?; metric_collection::init()?; - proxmox_product_config::init(pbs_config::backup_user()?, pbs_config::priv_user()?); proxmox_acme_api::init(configdir!("/acme"), false)?; let mut indexpath = PathBuf::from(pbs_buildcfg::JS_DIR); -- 2.47.3