§ ½@¾j ãóF—ddlZddlZddlmZdZdZdZd„Zd„Zd„Z d „Z dS) éN)ÚOptionalz/usr/sbin/cagefsctlzNot initializedz Not installedcó—tj t¦«rº t jtdgtjtjd¬¦«5}| ¦«\}}ddd¦«n #1swxYwY | d¦«d  ¦«S#t$rYdSwxYw#ttf$rYdSwxYwdS)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_moders0€õ „w‡~‚~•hÑÔðð ÝÔ!ÝÐ0Ð1Ý!”Ý!”Øð ñôð ,ð Ø×)Ò)Ñ+Ô+‘��Qð  ,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð Ø—y’y ‘~”~ aÔ(×.Ò.Ñ0Ô0Ð0øÝð ð ð Ø�t�tð øøøøå�Ð!ð ð ð Ø�4�4ð øøøððsS¦3CÁA=Á1 CÁ=BÂCÂBÂC ,B6Â6 CÃCÃCÃCÃCÃCcó —tj t¦«stSt ¦«st S tjtdgtj tj d¬¦«5}|  ¦«\}}ddd¦«n #1swxYwY|  ¦«S#ttf$rYdSwxYw)zk Get Cagefs user status, execute cagefsctl --cagefs-status cmd :return string -> cagefs status z--cagefs-statusTrN)r r r rÚCAGEFS_STATUS_NOT_INSTALLEDÚcheck_cagefs_initializedÚCAGEFS_STATUS_NOT_INITIALIZEDrrrrrrrrs 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—tj t¦«rõ |rd}nd}t jt|gtjtjd¬¦«5}| ¦«\}}ddd¦«n #1swxYwY t|  d¦«¦«}|dsdSt|d  d¦«d¦«S#ttf$rYdSwxYw#ttf$rYdSwxYwdS) 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-disabledTrNú rú )r r r rrrrrÚlistrÚintrÚ ValueErrorrr)ÚenabledÚcmdrrrÚstats rÚ get_quantityr,Bsq€õ „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Á8 DÂBÂD B DÂ*C*Â<-C*Ã*C?Ã;DÃ>C?Ã?DÄDÄDcó’— tjtdgtjd¬¦«dS#tjt f$rYdSwxYw)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©órr r esd€ð ÝÔ¥Ð+GÐ HÝ'1Ô'8Àð Gñ Gô Gð GàˆtøÝ Ô )­7Ð 3ððð؈uˆuðøøøs‚(,¬AÁA) r rÚtypingrrr!rrr"r,r r2r3rúr5s†ðð € € € ØÐÐÐØÐÐÐÐÐà €Ø 1ÐØ-Ððððð0ððð0 ð ð ðF ð ð ð ð r3