KUK
Server: Apache
System: Linux 247.44.167.72.host.secureserver.net 5.14.0-611.49.2.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Apr 30 09:05:08 EDT 2026 x86_64
User: root (0)
PHP: 8.0.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/share/doc/sudo/examples/example_approval_plugin.py
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)