[pbs-devel] [PATCH backup] fix permissions set in create_run_dir

Wolfgang Bumiller w.bumiller at proxmox.com
Tue May 4 09:52:34 CEST 2021


This directory needs to be owned by the backup user instead
of root.

Signed-off-by: Wolfgang Bumiller <w.bumiller at proxmox.com>
---
 src/tools.rs | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/tools.rs b/src/tools.rs
index 25323881..c58569a6 100644
--- a/src/tools.rs
+++ b/src/tools.rs
@@ -16,6 +16,7 @@ use openssl::hash::{hash, DigestBytes, MessageDigest};
 use percent_encoding::{utf8_percent_encode, AsciiSet};
 
 pub use proxmox::tools::fd::Fd;
+use proxmox::tools::fs::{create_path, CreateOptions};
 
 pub mod acl;
 pub mod apt;
@@ -569,7 +570,11 @@ pub fn compute_file_csum(file: &mut File) -> Result<([u8; 32], u64), Error> {
 /// This exists to fixate the permissions for the run *base* directory while allowing intermediate
 /// directories after it to have different permissions.
 pub fn create_run_dir() -> Result<(), Error> {
-    let _: bool = proxmox::tools::fs::create_path(PROXMOX_BACKUP_RUN_DIR_M!(), None, None)?;
+    let backup_user = crate::backup::backup_user()?;
+    let opts = CreateOptions::new()
+        .owner(backup_user.uid)
+        .group(backup_user.gid);
+    let _: bool = create_path(PROXMOX_BACKUP_RUN_DIR_M!(), None, Some(opts))?;
     Ok(())
 }
 
-- 
2.20.1






More information about the pbs-devel mailing list