PHP 8.3.31
Preview: pam_auth.py Size: 779 B
//opt/imunify360/venv/lib64/python3.11/site-packages/defence360agent/api/pam_auth.py

from defence360agent.api.integration_conf import IntegrationConfig
from defence360agent.contracts.config import UIRole
from defence360agent.subsys.panels.generic.panel import get_admin_list


class PamAuth:
    DEFAULT_AUTH_SERVICE = "system-auth"

    def authenticate(self, username, password) -> bool:
        from pam import pam

        try:
            config = IntegrationConfig().to_dict()
            service = config["PAM"]["SERVICE_NAME"]
        except KeyError:
            service = self.DEFAULT_AUTH_SERVICE

        p = pam()
        return p.authenticate(username, password, service=service)

    async def get_user_type(self, username: str) -> UIRole:
        admins = await get_admin_list()
        return UIRole.ADMIN if username in admins else UIRole.CLIENT

Directory Contents

Dirs: 2 × Files: 7

Name Size Perms Modified Actions
server DIR
- drwxr-xr-x 2026-06-08 20:23:14
Edit Download
- drwxr-xr-x 2026-06-08 20:23:14
Edit Download
3.38 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
1.49 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
4.85 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
3.25 KB lrw-r--r-- 2026-05-26 21:20:44
Edit Download
4.30 KB lrw-r--r-- 2026-05-26 21:20:45
Edit Download
779 B lrw-r--r-- 2026-05-26 21:20:44
Edit Download
0 B lrw-r--r-- 2026-05-26 21:20:44
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).