:orphan: :py:mod:`dissect.target.plugins.os.unix._os` ============================================ .. py:module:: dissect.target.plugins.os.unix._os Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: dissect.target.plugins.os.unix._os.UnixPlugin Functions ~~~~~~~~~ .. autoapisummary:: :nosignatures: dissect.target.plugins.os.unix._os.parse_fstab Attributes ~~~~~~~~~~ .. autoapisummary:: dissect.target.plugins.os.unix._os.log .. py:data:: log .. py:class:: UnixPlugin(target: dissect.target.target.Target) Bases: :py:obj:`dissect.target.plugin.OSPlugin` Base class for OS plugins. This provides a base class for certain common functions of OS's, which each OS plugin has to implement separately. For example, it provides an interface for retrieving the hostname and users of a target. All derived classes MUST implement ALL the classmethods and exported methods with the same ``@classmethod`` or ``@export(...)`` annotation. .. py:method:: detect(target: dissect.target.target.Target) -> Optional[dissect.target.filesystem.Filesystem] :classmethod: Provide detection of this OSPlugin on a given filesystem. :param fs: :class:`~dissect.target.filesystem.Filesystem` to detect the OS on. :returns: The root filesystem / sysvol when found. .. py:method:: create(target: dissect.target.target.Target, sysvol: dissect.target.filesystem.Filesystem) -> UnixPlugin :classmethod: Initiate this OSPlugin with the given target and detected filesystem. :param target: The :class:`~dissect.target.target.Target` object. :param sysvol: The filesystem that was detected in the ``detect()`` function. :returns: An instantiated version of the OSPlugin. .. py:method:: users(sessions: bool = False) -> Iterator[dissect.target.helpers.record.UnixUserRecord] Recover users from /etc/passwd, /etc/master.passwd or /var/log/syslog session logins. .. py:method:: architecture() -> Optional[str] Return a slug of the target's OS architecture. :returns: A slug of the OS architecture, e.g. 'x86_32-unix', 'MIPS-linux' or 'AMD64-win32', or 'unknown' if the architecture is unknown. .. py:method:: hostname() -> Optional[str] Return the target's hostname. :returns: The hostname as string. .. py:method:: domain() -> Optional[str] .. py:method:: os() -> str Return a slug of the target's OS name. :returns: A slug of the OS name, e.g. 'windows' or 'linux'. .. py:function:: parse_fstab(fstab: dissect.target.helpers.fsutil.TargetPath, log: logging.Logger = log) -> Iterator[tuple[Union[uuid.UUID, str], str, str, str, str]] Parse fstab file and return a generator that streams the details of entries, with unsupported FS types and block devices filtered away.