dissect.target.plugins.os.unix._os
¶
Module Contents¶
Classes¶
Base class for OS plugins. |
Functions¶
Parse fstab file and return a generator that streams the details of entries, |
Attributes¶
- dissect.target.plugins.os.unix._os.log¶
- class dissect.target.plugins.os.unix._os.UnixPlugin(target: dissect.target.target.Target)¶
Bases:
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.- classmethod detect(target: dissect.target.target.Target) dissect.target.filesystem.Filesystem | None ¶
Provide detection of this OSPlugin on a given filesystem.
- Parameters:
fs –
Filesystem
to detect the OS on.- Returns:
The root filesystem / sysvol when found.
- classmethod create(target: dissect.target.target.Target, sysvol: dissect.target.filesystem.Filesystem) UnixPlugin ¶
Initiate this OSPlugin with the given target and detected filesystem.
- Parameters:
target – The
Target
object.sysvol – The filesystem that was detected in the
detect()
function.
- Returns:
An instantiated version of the OSPlugin.
- users(sessions: bool = False) Iterator[dissect.target.helpers.record.UnixUserRecord] ¶
Recover users from /etc/passwd, /etc/master.passwd or /var/log/syslog session logins.
- architecture() str | None ¶
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.
- hostname() str | None ¶
Return the target’s hostname.
- Returns:
The hostname as string.
- domain() str | None ¶
- os() str ¶
Return a slug of the target’s OS name.
- Returns:
A slug of the OS name, e.g. ‘windows’ or ‘linux’.
- dissect.target.plugins.os.unix._os.parse_fstab(fstab: dissect.target.helpers.fsutil.TargetPath, log: logging.Logger = log) Iterator[tuple[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.