Sudoers - files /etc/sudoers
and /etc/sudoers.d/*
Module for processing each of the /etc/sudoers
and /etc/sudoers.d/*
files.
Note
These files is filtered to skip the sensitive information.
Note
Please use the insigths.combiners.suoders.Sudoers
for global
checking.
- class insights.parsers.sudoers.EtcSudoers(context)[source]
Bases:
Parser
,SudoersBase
Class to parse the files
/etc/sudoers
or/etc/sudoers.d/*
Typical content of the
/etc/sudoers
and/etc/sudoers.d/*
is:## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL ## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment) #includedir /etc/sudoers.d
- lines
The list of RAW lines of the file.
- Type:
list
Note
The super-class
SudoersBase
providers two helper functions:SudoersBase.get()
andSudoersBase.last()
.Examples
>>> type(sudo) <class 'insights.parsers.sudoers.EtcSudoers'> >>> len(sudo.lines) 2 >>> sudo.get(['wheel', 'ALL=(ALL)', 'ALL']) ['%wheel ALL=(ALL) ALL'] >>> sudo.last("#includedir") '#includedir /etc/sudoers.d'
- class insights.parsers.sudoers.SudoersBase[source]
Bases:
object
Base class for parsing the files
/etc/sudoers
or/etc/sudoers.d/*
, it provides the following two helper functionsget
andlast
.- get(s, check=<built-in function all>)[source]
Returns all lines that contain s anywhere and return the list of RAW line directly. s can be either a single string or a string list. For list, all keywords in the list must be found in each line.
- Parameters:
s (str or list) -- one or more strings to search for
check (func) -- built-in function
all
orany
applied to each line
- Returns:
list of lines that contain the s.
- Return type:
(list)
- Raises:
TypeError -- When s is not a string or a list of strings, or num is not an integer.
- last(s, check=<built-in function all>)[source]
Returns the last line that contain s anywhere and return the RAW line directly. s can be either a single string or a string list. For list, all keywords in the list must be found in each line.
- Parameters:
s (str or list) -- one or more strings to search for
check (func) -- built-in function
all
orany
applied to each line
- Returns:
The line that contains the s. None by default.
- Return type:
(str)
- Raises:
TypeError -- When s is not a string or a list of strings, or num is not an integer.