aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAurelian R <arusanu@gmail.com>2026-03-30 21:34:55 +0300
committerAurelian R <arusanu@gmail.com>2026-03-30 21:34:55 +0300
commit02713c310291c64bf080307983de799444c792ea (patch)
treecf181d1ce292ad728bfece5ba3e0c045ad87bc75
parent66cb7ba2e4a5415f2df153ca135307704bc97579 (diff)
downloadmsec-02713c310291c64bf080307983de799444c792ea.tar
msec-02713c310291c64bf080307983de799444c792ea.tar.gz
msec-02713c310291c64bf080307983de799444c792ea.tar.bz2
msec-02713c310291c64bf080307983de799444c792ea.tar.xz
msec-02713c310291c64bf080307983de799444c792ea.zip
Add a toggle box for the permissions rules' forced mode.
* Note: forced mode is autoenabled for a new permission rule
-rwxr-xr-xsrc/msec/msecgui.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/msec/msecgui.py b/src/msec/msecgui.py
index eeadabb..05d11a5 100755
--- a/src/msec/msecgui.py
+++ b/src/msec/msecgui.py
@@ -1414,6 +1414,9 @@ class MsecGui(Gtk.Window):
else:
force = ""
self.permconfig.set(file, (user, group, perm, force, acl))
+ # save to enable reload_config() to load the changes
+ standard_permconf = config.load_default_perms(log, self.base_level)
+ self.permconfig.save(standard_permconf)
def add_permission_check(self, widget, model):
"""Adds a permission check"""
@@ -1577,6 +1580,13 @@ class MsecGui(Gtk.Window):
sizegroup2.add_widget(entry_perm)
dialog.vbox.pack_start(hbox, False, False, 0)
+ check_force = Gtk.CheckButton(label=_("Force permissions"))
+ # new entries default to enforced permissions
+ check_force.set_active(bool(force) if path else True)
+ check_force.set_tooltip_text(_("When enabled, permissions will be enforced regardless of the current settings."))
+ check_force.set_halign(Gtk.Align.CENTER)
+ dialog.vbox.pack_start(check_force, False, False, 0)
+
label = Gtk.Label(label=_("To enforce additional ACL (Access Control List) on file, specify them in the following format:\nuser1:acl,user2:acl\nRefer to 'man setfacl' for details."))
label.set_line_wrap(True)
label.set_use_markup(True)
@@ -1607,13 +1617,14 @@ class MsecGui(Gtk.Window):
newgroup = entry_group.get_text()
newperm = entry_perm.get_text()
newacl = entry_acl.get_text()
- dialog.destroy()
+ newforce = "force" if check_force.get_active() else ""
# if acl is specified, the permissions will be enforced
if newacl != "":
- force = "force"
+ newforce = "force"
+ dialog.destroy()
- self.permconfig.set(newfile, (newuser, newgroup, newperm, force, newacl))
+ self.permconfig.set(newfile, (newuser, newgroup, newperm, newforce, newacl))
if not path:
# adding new entry
iter = model.append()
@@ -1621,8 +1632,11 @@ class MsecGui(Gtk.Window):
model.set(iter, self.COLUMN_USER, newuser)
model.set(iter, self.COLUMN_GROUP, newgroup)
model.set(iter, self.COLUMN_PERM, newperm)
- model.set(iter, self.COLUMN_FORCE, True if force == "force" else False)
+ model.set(iter, self.COLUMN_FORCE, newforce == "force")
model.set(iter, self.COLUMN_ACL, newacl)
+ # save to enable reload_config() to load the changes
+ standard_permconf = config.load_default_perms(log, self.base_level)
+ self.permconfig.save(standard_permconf)
def option_changed(self, treeview, path, col, model):
"""Processes an option change"""