?HgtddlZddlZddlmZddlmZddlmZm Z GddeZ GddZ dS) N) exec_utility)FormattedException) run_commandExternalProgramFailedceZdZdS)CageFsExceptionN)__name__ __module__ __qualname__H/opt/cloudlinux/venv/lib/python3.11/site-packages/cllimits/cagefs_lib.pyrrsDr rcteZdZdZddZedZdZdZddZ d Z d Z d Z d Z d ZdZdZdZdS)CageFsz/usr/sbin/cagefsctlNcXd|_d|_|p||_dSNF)_cagefs_enabled_users_is_cagefs_error_create_dummy_logger_logger)selfloggers r__init__zCageFs.__init__s.%)" %<!:!:! enable/disable :param bool ignore_cache: ignore data caching :return: None Nz--enablez --disable)r(r*_get_cagefsctl_out)rr)status ignore_cache cagefsctl_args rset_user_statuszCageFs.set_user_status9s  OO    $..x88  $"6"6x"@"@   (&MM'M  9:::::r cF|jdS|r|jrtdddidg|_|dg}|d}|D]3}d|vr|j|4dS) zD Loads users info from Cagefs :return: None Nz%(util)s is disabledutilCageFSmessagecontextz--list-enabled z enabled user)rr&rrr,splitappendstrip)r s_cagefs_outs_enabled_users_partslines rr(zCageFs._load_infoPs  % 1 F%%'' C4+@ C!.D/5x.@#B#BCC C%'"..0@/ABB , 2 24 8 8) < Ac|dg}|dd}|S)Nz--display-user-mode:)r,r8r:)rrAmodes r get_user_modezCageFs.get_user_modews>%%'<&=>>yy~~a &&(( r c2|dgdS)Nz --toggle-moder?r%s rtoggle_user_modezCageFs.toggle_user_mode}s  122222r c8 ddg}|jdd|t|}|S#t$rJ}|jdt |t t ||d}~wwxYw)NrDz--enable-cagefsz Running "%s" z cagefsctl exited with error "%s")rinfojoinrrrErrFs r enable_cagefszCageFs.enable_cagefss 5 12C L  nchhsmm < < <c""CJ$ 5 5 5 L  @#c(( K K K!#c((++ 4 5sAA BABBcj|jdd||st dddidt |j|d\}}}|p|}|d ksd |vr3|jd ||fd|_t ||S) NzRunning "cagefsctl %s"rRz%(util)s is not installedr2r3r4T)stderrrzError:z1Cagefs exited with exit code "%s" and output "%s")rrSrTr&rrr$r)rrGret_codes_stdouts_stderrr;s rr,zCageFs._get_cagefsctl_outs 2CHHSMMBBB%%'' C!.I/5x.@#B#BCC C'3D4FTX'Y'Y'Y$(H+8 q==H 44 L  QT\^jSk l l l$(D !!,// /r c2|dg}|S)Nz--rebuild-alt-php-inir?r@s rrebuild_alt_php_inizCageFs.rebuild_alt_php_inis%%'>&?@@ r )N)F)r r r r$r staticmethodrr&r*r0r(rBrIrNrPrUr,r\r r rrrs)M==== \222666;;;;.<<<* 5 5 5 333 5 5 5   r r) ros.pathr! cllimits.librclcommon.clexceptionrclcommon.utilsrrrrr r rrbs%%%%%%333333========     (   FFFFFFFFFFr