From e81ca83f9e1ec8b92363edf5145c9f2eb1bc03f6 Mon Sep 17 00:00:00 2001 From: Gabriele Musco Date: Thu, 15 Jun 2023 21:14:32 +0200 Subject: [PATCH] feat: function to set CAP_SYS_NICE --- src/file_utils.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/file_utils.rs b/src/file_utils.rs index 5a54521..14a5328 100644 --- a/src/file_utils.rs +++ b/src/file_utils.rs @@ -7,7 +7,7 @@ use std::{ use expect_dialog::ExpectDialog; -use crate::constants::CMD_NAME; +use crate::{constants::CMD_NAME, runner::Runner}; pub fn get_writer(path_s: &String) -> BufWriter { let path = Path::new(path_s); @@ -72,3 +72,13 @@ pub fn set_file_radonly(path_s: &String, readonly: bool) { perms.set_readonly(readonly); fs::set_permissions(path, perms).expect_dialog("Could not set permissions for file") } + +pub fn setcap_cap_sys_nice_eip(file: String) { + let mut runner = Runner::new(None, "pkexec".into(), vec![ + "setcap".into(), + "CAP_SYS_NICE=eip".into(), + file + ]); + runner.start(); + runner.join(); +}