diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 14:37:38 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 14:37:38 +0000 |
commit | ae581a19fbe896a797450b9d9573fb66f2735227 (patch) | |
tree | 56c40be8518a29c9351364d13a9676aa83932dc0 /plugins/python/example_approval_plugin.py | |
parent | Initial commit. (diff) | |
download | sudo-ae581a19fbe896a797450b9d9573fb66f2735227.tar.xz sudo-ae581a19fbe896a797450b9d9573fb66f2735227.zip |
Adding upstream version 1.9.13p3.upstream/1.9.13p3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'plugins/python/example_approval_plugin.py')
-rw-r--r-- | plugins/python/example_approval_plugin.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/plugins/python/example_approval_plugin.py b/plugins/python/example_approval_plugin.py new file mode 100644 index 0000000..56ac865 --- /dev/null +++ b/plugins/python/example_approval_plugin.py @@ -0,0 +1,18 @@ +import sudo + +from datetime import datetime + + +class BusinessHoursApprovalPlugin(sudo.Plugin): + def check(self, command_info: tuple, run_argv: tuple, + run_env: tuple) -> int: + error_msg = "" + now = datetime.now() + if now.weekday() >= 5: + error_msg = "That is not allowed on the weekend!" + if now.hour < 8 or now.hour > 17: + error_msg = "That is not allowed outside the business hours!" + + if error_msg: + sudo.log_info(error_msg) + raise sudo.PluginReject(error_msg) |