Server IP : 15.235.198.142 / Your IP : 216.73.216.10 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/python3/dist-packages/apport/ |
Upload File : |
# Copyright (C) 2023 Canonical Ltd. # Author: Benjamin Drung <benjamin.drung@canonical.com> # SPDX-License-Identifier: GPL-2.0-or-later """Functions around users and groups.""" import dataclasses import os @dataclasses.dataclass() class UserGroupID: """Pair of user and group ID.""" uid: int gid: int def is_root(self) -> bool: """Check if the user or group ID is root.""" return self.uid == 0 or self.gid == 0 @classmethod def from_systemd_coredump(cls, coredump): """Extract user and group from systemd-coredump dictionary.""" uid = coredump.get("COREDUMP_UID") assert isinstance(uid, int) gid = coredump.get("COREDUMP_GID") assert isinstance(gid, int) return cls(uid, gid) def get_process_user_and_group() -> UserGroupID: """Return the current process’s real user and group.""" return UserGroupID(os.getuid(), os.getgid())