HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //var/lib/dpkg/info/imunify-antivirus.postinst
#!/bin/bash
# postinst script for imunify-antivirus
set -e
is_imunify360_installed()
{
    test -f /var/imunify360/.i360
    return $?
}

regenerate_config_example()
{
    # re-generate imunify360.config.defaults.example from schema defaults
    /opt/imunify360/venv/share/imunify360/scripts/create_default_config \
    /etc/sysconfig/imunify360/imunify360.config.defaults.example
    chmod 0600 /etc/sysconfig/imunify360/imunify360.config.defaults.example
}

generate_merge_config_if_not_exists()
{
    merged_config=/etc/sysconfig/imunify360/imunify360-merged.config
    [[ ! -f $merged_config ]] && cat /etc/sysconfig/imunify360/imunify360.config.defaults.example > $merged_config || true
}

case "$1" in
    configure)
        # don't start AV service if IM360 is used
        if ! is_imunify360_installed
        then
            /bin/systemctl daemon-reload >/dev/null
            # will be enabled later, during imunify agent registration
            #/bin/systemctl disable imunify-antivirus.service >/dev/null 2>&1 || :
            if /bin/systemctl is-enabled imunify-antivirus.service >/dev/null
            then
                /bin/systemctl start imunify-antivirus.service >/dev/null
            fi
            regenerate_config_example
            if [ ! -e /etc/sysconfig/imunify360/imunify360-merged.config ]
            then
              # to pervent possible failures other products that might use imunify360-merged.config
              cp /etc/sysconfig/imunify360/imunify360.config.defaults.example /etc/sysconfig/imunify360/imunify360-merged.config
            fi
            if [ ! -e /etc/sysconfig/imunify360/imunify360.config ]
            then
              # create empty config file to allow
              cp /dev/null /etc/sysconfig/imunify360/imunify360.config
            fi
            # to allow malware scans by modsec
            chmod 644 /etc/sysconfig/imunify360/imunify360-merged.config
            ln -svf /usr/bin/imunify-antivirus /usr/bin/imunify360-agent
            rm -f /var/lib/rpm-state/imunify360-transaction-in-progress
            systemctl enable imunify-antivirus.service && \
            systemctl enable imunify-antivirus.socket && \
            systemctl enable imunify-antivirus-user.socket && \
            systemctl enable imunify-antivirus-sensor.socket && \
            systemctl daemon-reload >/dev/null
            systemctl start imunify-antivirus-sensor.socket && \
            systemctl start imunify-antivirus.socket && \
            systemctl start imunify-antivirus-user.socket
        fi
        chmod 01777 /var/log/imunify360_user_logs
        chmod 0600 /var/imunify360/uploads
        chmod 0600 /opt/imunify360/venv/share/imunify360/10_on_first_install_av.config
        chmod 0600 /opt/imunify360/venv/share/imunify360/10_plesk_default_av.config
        chmod 0600 /opt/imunify360/venv/share/imunify360/11_on_first_install_wp_av.config
        chmod 0700 /var/imunify360/tmp
        chmod 0750 /var/imunify360/tmp_cleanup
        chmod 0775 /var/imunify360/files
        chmod 0770 /opt/imunify360/venv/share/imunify360/scripts/send-notifications
        chmod 0755 /var/imunify360/aibolit
        chmod 0700 /var/imunify360/aibolit/run
        chmod 0700 /var/imunify360/aibolit/resident/in/notify-jobs
        chmod 0700 /var/imunify360/aibolit/resident/out
        chown root:root /opt/imunify360/venv/share/imunify360/10_on_first_install_av.config
        chown root:root /opt/imunify360/venv/share/imunify360/10_plesk_default_av.config
        chown root:root /opt/imunify360/venv/share/imunify360/11_on_first_install_wp_av.config
        chown root:root /var/imunify360/files
        chown root:root /var/imunify360/tmp
        chown root:root /var/imunify360/tmp_cleanup
        chown root:root /var/imunify360/uploads
        chown root:root /var/log/imunify360_user_logs
        chown root:root /var/imunify360/aibolit
        chown root:root /var/imunify360/aibolit/run
        chown root:root /var/imunify360/aibolit/resident/in/notify-jobs
        chown root:root /var/imunify360/aibolit/resident/out
        chown root:_imunify /opt/imunify360/venv/share/imunify360/scripts/send-notifications

        # make readable for non-root services
        id _imunify &>/dev/null || useradd --system -U -d /dev/null _imunify || true
        chmod 2755 /var/imunify360/
        chown :_imunify /var/imunify360
        chown :_imunify /var/imunify360/tmp_cleanup
        chown :_imunify /var/imunify360/imunify360.db* || true

        # make executable with root rights for non-root user
        chmod u+s /opt/imunify360/venv/share/imunify360/scripts/send-notifications

    ;;
    triggered)
        # should be triggered on imunify360-firewall (un)install/update
        regenerate_config_example
        if is_imunify360_installed
        then
            # mask imunify-antivirus service to prevent it from starting
            /bin/systemctl stop imunify-antivirus.service >/dev/null
            /bin/systemctl mask imunify-antivirus.service >/dev/null
            # fill imunify360-merged.config with defaults,
            # the agent must specify the actual settings at startup
            generate_merge_config_if_not_exists
        else
            /bin/systemctl unmask imunify-antivirus.service >/dev/null
            /bin/systemctl restart imunify-antivirus.service >/dev/null
        fi
    ;;
    abort-upgrade|abort-remove|abort-deconfigure)
    ;;
    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac
exit 0