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,SudoersBaseClass to parse the files
/etc/sudoersor/etc/sudoers.d/*Typical content of the
/etc/sudoersand/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
SudoersBaseproviders 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:
objectBase class for parsing the files
/etc/sudoersor/etc/sudoers.d/*, it provides the following two helper functionsgetandlast.- 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
alloranyapplied 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
alloranyapplied 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.