diff options
| author | Aurelian R <arusanu@gmail.com> | 2026-03-30 21:34:55 +0300 |
|---|---|---|
| committer | Aurelian R <arusanu@gmail.com> | 2026-03-30 21:34:55 +0300 |
| commit | 02713c310291c64bf080307983de799444c792ea (patch) | |
| tree | cf181d1ce292ad728bfece5ba3e0c045ad87bc75 | |
| parent | 66cb7ba2e4a5415f2df153ca135307704bc97579 (diff) | |
| download | msec-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-x | src/msec/msecgui.py | 22 |
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""" |
