§
½@¾j
ã óF — d dl Z d dlZd dlmZ dZdZdZd„ Zd„ Zd„ Z d „ Z
dS )
é N)ÚOptionalz/usr/sbin/cagefsctlzNot initializedz
Not installedc ó — t j t ¦ « rº t j t dgt j t j d¬¦ « 5 } | ¦ « \ }}ddd¦ « n# 1 swxY w Y | d¦ « d ¦ « S # t $ r Y dS w xY w# t t f$ r Y dS w xY wdS )zp
Get Cagefs user mode, execute cagefsctl --display-user-mode cmd
:return string -> cagefs user mode
z--display-user-modeT©ÚstdoutÚstderrÚtextNú:é )
ÚosÚpathÚexistsÚBIN_EXECÚ
subprocessÚPopenÚPIPEÚcommunicateÚsplitÚstripÚ
IndexErrorÚOSErrorÚIOError©ÚprocÚoutÚ_s ú'py/clconfig/cagefs_statistics_config.pyÚget_cagefs_user_moder s0 € õ
„w‡~‚~•hÑÔð ð
ÝÔ!ÝÐ0Ð1Ý!”Ý!”Øð ñ ô ð
,ð
Ø×)Ò)Ñ+Ô+‘��Qð
,ð
,ð
,ñ
,ô
,ð
,ð
,ð
,ð
,ð
,ð
,øøøð
,ð
,ð
,ð
,ð
Ø—y’y ‘~”~ aÔ(×.Ò.Ñ0Ô0Ð0øÝð
ð
ð
Ø�t�tð
øøøøå�Ð!ð ð ð Ø�4�4ð øøøðð sS ¦3C ÁA=Á1C Á=BÂC ÂBÂC  ,B6 Â6
Cà C ÃCÃC ÃCÃCc ó — t j t ¦ « st S t ¦ « st S t j t dgt j t j d¬¦ « 5 } |
¦ « \ }}ddd¦ « n# 1 swxY w Y | ¦ « S # t t f$ r Y dS w xY w)zk
Get Cagefs user status, execute cagefsctl --cagefs-status cmd
:return string -> cagefs status
z--cagefs-statusTr N)r r r
r ÚCAGEFS_STATUS_NOT_INSTALLEDÚcheck_cagefs_initializedÚCAGEFS_STATUS_NOT_INITIALIZEDr r r r r r r r s r Úget_cagefs_statusr" * s € õ Œ7�>Š>�(Ñ#Ô#ð +Ý*Ð*Ý#Ñ%Ô%ð -Ý,Ð,ð
Ý
Ô
Ý
Ð(Ð)Ý”?Ý”?Øð
ñ
ô
ð (ð
Ø×%Ò%Ñ'Ô'‰FˆC�ð
(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð �yŠy‰{Œ{ÐøÝ•WÐð ð ð Øˆtˆtðøøøs6 Á3B8 Á5BÂ
B8 ÂBÂB8 Â BÂ!B8 Â8C
ÃC
c ó8 — t j t ¦ « rõ | rd}nd}t j t |gt j t j d¬¦ « 5 }| ¦ « \ }}ddd¦ « n# 1 swxY w Y t | d¦ « ¦ « }|d sdS t |d d¦ « d ¦ « S # t t f$ r Y dS w xY w# t t f$ r Y dS w xY wdS ) a
Get Cagefs quantity if enabled/disabled users, execute
cagefsctl --list-enabled cmd for enabled users
execute cagefsctl --list-disabled cmd for disabled users
:param enabled: true/false flag for quantity enabled/disabled users
:return int -> quantity of users
z--list-enabledz--list-disabledTr Nú
r ú )r r r
r r r r r Úlistr Úintr Ú
ValueErrorr r )ÚenabledÚcmdr r r Ústats r Úget_quantityr, B sq € õ
„w‡~‚~•hÑÔð ð Øð
(Ø&��à'�åÔ!ݘ3�Ý!”Ý!”Øð ñ ô ð
,ð
Ø×)Ò)Ñ+Ô+‘��Qð
,ð
,ð
,ñ
,ô
,ð
,ð
,ð
,ð
,ð
,ð
,øøøð
,ð
,ð
,ð
,ð
ݘCŸIšI d™OœOÑ,Ô,�ؘA”wð Ø˜1ݘ4 œ7Ÿ=š=¨Ñ-Ô-¨aÔ0Ñ1Ô1Ð1øÝ¥
Ð+ð
ð
ð
Ø�t�tð
øøøøå�Ð!ð ð ð Ø�4�4ð øøøð+ð sY ¦:D Á BÁ8D ÂBÂD ÂBÂD Â*C* Â<-C* Ã*C?Ã;D Ã>C?Ã?D ÄDÄDc ó’ — t j t dgt j d¬¦ « dS # t j t
f$ r Y dS w xY w)z˜
Check if cagefs is initialized with help of --check-cagefs-skeleton command
--check-cagefs-skeleton returns rc 0 only if it is initialized
z--check-cagefs-initializedF)r ÚshellT)r Úcheck_outputr ÚSTDOUTÚCalledProcessErrorr © ó r r r e sd € ð
ÝÔ¥Ð+GÐ HÝ'1Ô'8Àð Gñ Gô Gð GàˆtøÝÔ)7Ð3ð ð ð Øˆuˆuðøøøs ‚(, ¬AÁA)r r Útypingr r r! r r r" r, r r2 r3 r ú